import { Component, OnInit, Output, EventEmitter } from '@angular/core';
import { ColorBand } from 'src/app/_common';

@Component({
  selector: 'app-color-band',
  templateUrl: './color-band.component.html',
  styleUrls: ['./color-band.component.css']
})
export class ColorBandComponent implements OnInit {
   imageUrlArray: Array<ColorBand>;
  private rampsArray: Array<string>;


  @Output()
  onColorBandChanged = new EventEmitter<ColorBand>();

  constructor() {
    this.imageUrlArray = new Array<ColorBand>();
    this.rampsArray = ["0,0,0,255;1,0,3,255;2,0,7,255;3,0,11,255;4,0,15,255;5,0,19,255;6,0,23,255;7,0,27,255;8,0,31,255;9,0,35,255;10,0,39,255;11,0,43,255;12,0,47,255;13,0,51,255;14,0,55,255;15,0,59,255;16,0,63,255;17,0,67,255;18,0,71,255;19,0,75,255;20,0,79,255;21,0,83,255;22,0,87,255;23,0,91,255;24,0,95,255;25,0,99,255;26,0,103,255;27,0,107,255;28,0,111,255;29,0,115,255;30,0,119,255;31,0,123,255;32,0,127,255;33,0,132,255;34,0,135,255;35,0,140,255;36,0,143,255;37,0,148,255;38,0,151,255;39,0,156,255;40,0,159,255;41,0,164,255;42,0,167,255;43,0,172,255;44,0,175,255;45,0,180,255;46,0,183,255;47,0,188,255;48,0,191,255;49,0,196,255;50,0,199,255;51,0,204,255;52,0,207,255;53,0,212,255;54,0,215,255;55,0,220,255;56,0,223,255;57,0,228,255;58,0,231,255;59,0,236,255;60,0,239,255;61,0,244,255;62,0,247,255;63,0,252,255;64,0,255,254;65,0,255,249;66,0,255,246;67,0,255,241;68,0,255,238;69,0,255,233;70,0,255,230;71,0,255,225;72,0,255,222;73,0,255,217;74,0,255,214;75,0,255,209;76,0,255,206;77,0,255,201;78,0,255,198;79,0,255,193;80,0,255,190;81,0,255,185;82,0,255,182;83,0,255,177;84,0,255,174;85,0,255,169;86,0,255,166;87,0,255,161;88,0,255,158;89,0,255,153;90,0,255,150;91,0,255,145;92,0,255,142;93,0,255,137;94,0,255,134;95,0,255,129;96,0,255,126;97,0,255,122;98,0,255,118;99,0,255,114;100,0,255,110;101,0,255,106;102,0,255,102;103,0,255,98;104,0,255,94;105,0,255,90;106,0,255,86;107,0,255,82;108,0,255,78;109,0,255,74;110,0,255,70;111,0,255,66;112,0,255,61;113,0,255,57;114,0,255,53;115,0,255,49;116,0,255,45;117,0,255,41;118,0,255,37;119,0,255,33;120,0,255,29;121,0,255,25;122,0,255,21;123,0,255,17;124,0,255,13;125,0,255,9;126,0,255,5;127,0,255,1;128,1,255,0;129,5,255,0;130,9,255,0;131,13,255,0;132,17,255,0;133,21,255,0;134,25,255,0;135,29,255,0;136,33,255,0;137,37,255,0;138,41,255,0;139,45,255,0;140,49,255,0;141,53,255,0;142,57,255,0;143,61,255,0;144,66,255,0;145,70,255,0;146,74,255,0;147,78,255,0;148,82,255,0;149,86,255,0;150,90,255,0;151,94,255,0;152,98,255,0;153,102,255,0;154,106,255,0;155,110,255,0;156,114,255,0;157,118,255,0;158,122,255,0;159,126,255,0;160,129,255,0;161,134,255,0;162,137,255,0;163,142,255,0;164,145,255,0;165,150,255,0;166,153,255,0;167,158,255,0;168,161,255,0;169,166,255,0;170,169,255,0;171,174,255,0;172,177,255,0;173,182,255,0;174,185,255,0;175,190,255,0;176,193,255,0;177,198,255,0;178,201,255,0;179,206,255,0;180,209,255,0;181,214,255,0;182,217,255,0;183,222,255,0;184,225,255,0;185,230,255,0;186,233,255,0;187,238,255,0;188,241,255,0;189,246,255,0;190,249,255,0;191,254,255,0;192,255,252,0;193,255,247,0;194,255,244,0;195,255,239,0;196,255,236,0;197,255,231,0;198,255,228,0;199,255,223,0;200,255,220,0;201,255,215,0;202,255,212,0;203,255,207,0;204,255,204,0;205,255,199,0;206,255,196,0;207,255,191,0;208,255,188,0;209,255,183,0;210,255,180,0;211,255,175,0;212,255,172,0;213,255,167,0;214,255,164,0;215,255,159,0;216,255,156,0;217,255,151,0;218,255,148,0;219,255,143,0;220,255,140,0;221,255,135,0;222,255,132,0;223,255,127,0;224,255,123,0;225,255,119,0;226,255,115,0;227,255,111,0;228,255,107,0;229,255,103,0;230,255,99,0;231,255,95,0;232,255,91,0;233,255,87,0;234,255,83,0;235,255,79,0;236,255,75,0;237,255,71,0;238,255,67,0;239,255,63,0;240,255,59,0;241,255,55,0;242,255,51,0;243,255,47,0;244,255,43,0;245,255,39,0;246,255,35,0;247,255,31,0;248,255,27,0;249,255,23,0;250,255,19,0;251,255,15,0;252,255,11,0;253,255,7,0;254,255,3,0;255,255,0,0"
      , "0,0,0,0;1,0,0,0;2,1,1,1;3,2,2,2;4,3,3,3;5,4,4,4;6,5,5,5;7,6,6,6;8,7,7,7;9,8,8,8;10,9,9,9;11,10,10,10;12,11,11,11;13,12,12,12;14,13,13,13;15,14,14,14;16,15,15,15;17,16,16,16;18,17,17,17;19,18,18,18;20,19,19,19;21,20,20,20;22,21,21,21;23,22,22,22;24,23,23,23;25,24,24,24;26,25,25,25;27,26,26,26;28,27,27,27;29,28,28,28;30,29,29,29;31,30,30,30;32,31,31,31;33,33,33,33;34,33,33,33;35,35,35,35;36,35,35,35;37,37,37,37;38,37,37,37;39,39,39,39;40,39,39,39;41,41,41,41;42,41,41,41;43,43,43,43;44,43,43,43;45,45,45,45;46,45,45,45;47,47,47,47;48,47,47,47;49,49,49,49;50,49,49,49;51,51,51,51;52,51,51,51;53,53,53,53;54,53,53,53;55,55,55,55;56,55,55,55;57,57,57,57;58,57,57,57;59,59,59,59;60,59,59,59;61,61,61,61;62,61,61,61;63,63,63,63;64,63,63,63;65,64,64,64;66,66,66,66;67,67,67,67;68,67,67,67;69,68,68,68;70,70,70,70;71,71,71,71;72,71,71,71;73,72,72,72;74,74,74,74;75,75,75,75;76,75,75,75;77,76,76,76;78,78,78,78;79,79,79,79;80,79,79,79;81,80,80,80;82,82,82,82;83,83,83,83;84,83,83,83;85,84,84,84;86,86,86,86;87,87,87,87;88,87,87,87;89,88,88,88;90,90,90,90;91,91,91,91;92,91,91,91;93,92,92,92;94,94,94,94;95,95,95,95;96,95,95,95;97,96,96,96;98,98,98,98;99,99,99,99;100,99,99,99;101,100,100,100;102,102,102,102;103,103,103,103;104,103,103,103;105,104,104,104;106,106,106,106;107,107,107,107;108,107,107,107;109,108,108,108;110,110,110,110;111,111,111,111;112,111,111,111;113,112,112,112;114,114,114,114;115,115,115,115;116,115,115,115;117,116,116,116;118,118,118,118;119,119,119,119;120,119,119,119;121,120,120,120;122,122,122,122;123,123,123,123;124,123,123,123;125,124,124,124;126,126,126,126;127,127,127,127;128,127,127,127;129,128,128,128;130,129,129,129;131,130,130,130;132,132,132,132;133,133,133,133;134,134,134,134;135,135,135,135;136,135,135,135;137,136,136,136;138,137,137,137;139,138,138,138;140,140,140,140;141,141,141,141;142,142,142,142;143,143,143,143;144,143,143,143;145,144,144,144;146,145,145,145;147,146,146,146;148,148,148,148;149,149,149,149;150,150,150,150;151,151,151,151;152,151,151,151;153,152,152,152;154,153,153,153;155,154,154,154;156,156,156,156;157,157,157,157;158,158,158,158;159,159,159,159;160,159,159,159;161,160,160,160;162,161,161,161;163,162,162,162;164,164,164,164;165,165,165,165;166,166,166,166;167,167,167,167;168,167,167,167;169,168,168,168;170,169,169,169;171,170,170,170;172,172,172,172;173,173,173,173;174,174,174,174;175,175,175,175;176,175,175,175;177,176,176,176;178,177,177,177;179,178,178,178;180,180,180,180;181,181,181,181;182,182,182,182;183,183,183,183;184,183,183,183;185,184,184,184;186,185,185,185;187,186,186,186;188,188,188,188;189,189,189,189;190,190,190,190;191,191,191,191;192,191,191,191;193,192,192,192;194,193,193,193;195,194,194,194;196,196,196,196;197,197,197,197;198,198,198,198;199,199,199,199;200,199,199,199;201,200,200,200;202,201,201,201;203,202,202,202;204,204,204,204;205,205,205,205;206,206,206,206;207,207,207,207;208,207,207,207;209,208,208,208;210,209,209,209;211,210,210,210;212,212,212,212;213,213,213,213;214,214,214,214;215,215,215,215;216,215,215,215;217,216,216,216;218,217,217,217;219,218,218,218;220,220,220,220;221,221,221,221;222,222,222,222;223,223,223,223;224,223,223,223;225,224,224,224;226,225,225,225;227,226,226,226;228,228,228,228;229,229,229,229;230,230,230,230;231,231,231,231;232,231,231,231;233,232,232,232;234,233,233,233;235,234,234,234;236,236,236,236;237,237,237,237;238,238,238,238;239,239,239,239;240,239,239,239;241,240,240,240;242,241,241,241;243,242,242,242;244,244,244,244;245,245,245,245;246,246,246,246;247,247,247,247;248,247,247,247;249,248,248,248;250,249,249,249;251,250,250,250;252,252,252,252;253,253,253,253;254,254,254,254;255,255,255,255"
      , "0,0,0,255;1,0,0,254;2,1,0,253;3,2,0,252;4,3,0,250;5,4,0,249;6,5,0,248;7,6,0,247;8,7,0,247;9,8,0,246;10,9,0,245;11,10,0,244;12,11,0,242;13,12,0,241;14,13,0,240;15,14,0,239;16,15,0,239;17,16,0,238;18,17,0,237;19,18,0,236;20,19,0,234;21,20,0,233;22,21,0,232;23,22,0,231;24,23,0,231;25,24,0,230;26,25,0,229;27,26,0,228;28,27,0,226;29,28,0,225;30,29,0,224;31,30,0,223;32,31,0,223;33,33,0,222;34,33,0,221;35,35,0,220;36,35,0,218;37,37,0,217;38,37,0,216;39,39,0,215;40,39,0,215;41,41,0,214;42,41,0,213;43,43,0,212;44,43,0,210;45,45,0,209;46,45,0,208;47,47,0,207;48,47,0,207;49,49,0,206;50,49,0,205;51,51,0,204;52,51,0,202;53,53,0,201;54,53,0,200;55,55,0,199;56,55,0,199;57,57,0,198;58,57,0,197;59,59,0,196;60,59,0,194;61,61,0,193;62,61,0,192;63,63,0,191;64,63,0,191;65,64,0,190;66,66,0,189;67,67,0,188;68,67,0,186;69,68,0,185;70,70,0,184;71,71,0,183;72,71,0,183;73,72,0,182;74,74,0,181;75,75,0,180;76,75,0,178;77,76,0,177;78,78,0,176;79,79,0,175;80,79,0,175;81,80,0,174;82,82,0,173;83,83,0,172;84,83,0,170;85,84,0,169;86,86,0,168;87,87,0,167;88,87,0,167;89,88,0,166;90,90,0,165;91,91,0,164;92,91,0,162;93,92,0,161;94,94,0,160;95,95,0,159;96,95,0,159;97,96,0,158;98,98,0,157;99,99,0,156;100,99,0,154;101,100,0,153;102,102,0,152;103,103,0,151;104,103,0,151;105,104,0,150;106,106,0,149;107,107,0,148;108,107,0,146;109,108,0,145;110,110,0,144;111,111,0,143;112,111,0,143;113,112,0,142;114,114,0,141;115,115,0,140;116,115,0,138;117,116,0,137;118,118,0,136;119,119,0,135;120,119,0,135;121,120,0,134;122,122,0,133;123,123,0,132;124,123,0,130;125,124,0,129;126,126,0,128;127,127,0,127;128,127,0,127;129,128,0,126;130,129,0,124;131,130,0,123;132,132,0,123;133,133,0,122;134,134,0,120;135,135,0,119;136,135,0,119;137,136,0,118;138,137,0,116;139,138,0,115;140,140,0,115;141,141,0,114;142,142,0,112;143,143,0,111;144,143,0,111;145,144,0,110;146,145,0,108;147,146,0,107;148,148,0,107;149,149,0,106;150,150,0,104;151,151,0,103;152,151,0,103;153,152,0,102;154,153,0,100;155,154,0,99;156,156,0,99;157,157,0,98;158,158,0,96;159,159,0,95;160,159,0,95;161,160,0,94;162,161,0,92;163,162,0,91;164,164,0,91;165,165,0,90;166,166,0,88;167,167,0,87;168,167,0,87;169,168,0,86;170,169,0,84;171,170,0,83;172,172,0,83;173,173,0,82;174,174,0,80;175,175,0,79;176,175,0,79;177,176,0,78;178,177,0,76;179,178,0,75;180,180,0,75;181,181,0,74;182,182,0,72;183,183,0,71;184,183,0,71;185,184,0,70;186,185,0,68;187,186,0,67;188,188,0,67;189,189,0,66;190,190,0,64;191,191,0,63;192,191,0,63;193,192,0,61;194,193,0,61;195,194,0,59;196,196,0,59;197,197,0,57;198,198,0,57;199,199,0,55;200,199,0,55;201,200,0,53;202,201,0,53;203,202,0,51;204,204,0,51;205,205,0,49;206,206,0,49;207,207,0,47;208,207,0,47;209,208,0,45;210,209,0,45;211,210,0,43;212,212,0,43;213,213,0,41;214,214,0,41;215,215,0,39;216,215,0,39;217,216,0,37;218,217,0,37;219,218,0,35;220,220,0,35;221,221,0,33;222,222,0,33;223,223,0,31;224,223,0,30;225,224,0,29;226,225,0,28;227,226,0,27;228,228,0,26;229,229,0,25;230,230,0,24;231,231,0,23;232,231,0,22;233,232,0,21;234,233,0,20;235,234,0,19;236,236,0,18;237,237,0,17;238,238,0,16;239,239,0,15;240,239,0,14;241,240,0,13;242,241,0,12;243,242,0,11;244,244,0,10;245,245,0,9;246,246,0,8;247,247,0,7;248,247,0,6;249,248,0,5;250,249,0,4;251,250,0,3;252,252,0,2;253,253,0,1;254,254,0,0;255,255,0,0"
      , "0,255,0,0;1,255,5,0;2,255,11,0;3,255,17,0;4,255,23,0;5,255,29,0;6,255,35,0;7,255,41,0;8,255,47,0;9,255,53,0;10,255,59,0;11,255,66,0;12,255,71,0;13,255,78,0;14,255,83,0;15,255,90,0;16,255,95,0;17,255,102,0;18,255,107,0;19,255,114,0;20,255,119,0;21,255,126,0;22,255,132,0;23,255,137,0;24,255,143,0;25,255,150,0;26,255,156,0;27,255,161,0;28,255,167,0;29,255,174,0;30,255,180,0;31,255,185,0;32,255,191,0;33,255,198,0;34,255,204,0;35,255,209,0;36,255,215,0;37,255,222,0;38,255,228,0;39,255,233,0;40,255,239,0;41,255,246,0;42,255,252,0;43,252,255,0;44,246,255,0;45,239,255,0;46,233,255,0;47,228,255,0;48,222,255,0;49,215,255,0;50,209,255,0;51,204,255,0;52,198,255,0;53,191,255,0;54,185,255,0;55,180,255,0;56,174,255,0;57,167,255,0;58,161,255,0;59,156,255,0;60,150,255,0;61,143,255,0;62,137,255,0;63,132,255,0;64,126,255,0;65,119,255,0;66,114,255,0;67,107,255,0;68,102,255,0;69,95,255,0;70,90,255,0;71,83,255,0;72,78,255,0;73,71,255,0;74,66,255,0;75,59,255,0;76,53,255,0;77,47,255,0;78,41,255,0;79,35,255,0;80,29,255,0;81,23,255,0;82,17,255,0;83,11,255,0;84,5,255,0;85,0,255,0;86,0,255,5;87,0,255,11;88,0,255,17;89,0,255,23;90,0,255,29;91,0,255,35;92,0,255,41;93,0,255,47;94,0,255,53;95,0,255,59;96,0,255,66;97,0,255,71;98,0,255,78;99,0,255,83;100,0,255,90;101,0,255,95;102,0,255,102;103,0,255,107;104,0,255,114;105,0,255,119;106,0,255,126;107,0,255,132;108,0,255,137;109,0,255,143;110,0,255,150;111,0,255,156;112,0,255,161;113,0,255,167;114,0,255,174;115,0,255,180;116,0,255,185;117,0,255,191;118,0,255,198;119,0,255,204;120,0,255,209;121,0,255,215;122,0,255,222;123,0,255,228;124,0,255,233;125,0,255,239;126,0,255,246;127,0,255,252;128,0,252,255;129,0,246,255;130,0,239,255;131,0,233,255;132,0,228,255;133,0,222,255;134,0,215,255;135,0,209,255;136,0,204,255;137,0,198,255;138,0,191,255;139,0,185,255;140,0,180,255;141,0,174,255;142,0,167,255;143,0,161,255;144,0,156,255;145,0,150,255;146,0,143,255;147,0,137,255;148,0,132,255;149,0,126,255;150,0,119,255;151,0,114,255;152,0,107,255;153,0,102,255;154,0,95,255;155,0,90,255;156,0,83,255;157,0,78,255;158,0,71,255;159,0,66,255;160,0,59,255;161,0,53,255;162,0,47,255;163,0,41,255;164,0,35,255;165,0,29,255;166,0,23,255;167,0,17,255;168,0,11,255;169,0,5,255;170,0,0,255;171,5,0,255;172,11,0,255;173,17,0,255;174,23,0,255;175,29,0,255;176,35,0,255;177,41,0,255;178,47,0,255;179,53,0,255;180,59,0,255;181,66,0,255;182,71,0,255;183,78,0,255;184,83,0,255;185,90,0,255;186,95,0,255;187,102,0,255;188,107,0,255;189,114,0,255;190,119,0,255;191,126,0,255;192,132,0,255;193,137,0,255;194,143,0,255;195,150,0,255;196,156,0,255;197,161,0,255;198,167,0,255;199,174,0,255;200,180,0,255;201,185,0,255;202,191,0,255;203,198,0,255;204,204,0,255;205,209,0,255;206,215,0,255;207,222,0,255;208,228,0,255;209,233,0,255;210,239,0,255;211,246,0,255;212,252,0,255;213,255,0,252;214,255,0,246;215,255,0,239;216,255,0,233;217,255,0,228;218,255,0,222;219,255,0,215;220,255,0,209;221,255,0,204;222,255,0,198;223,255,0,191;224,255,0,185;225,255,0,180;226,255,0,174;227,255,0,167;228,255,0,161;229,255,0,156;230,255,0,150;231,255,0,143;232,255,0,137;233,255,0,132;234,255,0,126;235,255,0,119;236,255,0,114;237,255,0,107;238,255,0,102;239,255,0,95;240,255,0,90;241,255,0,83;242,255,0,78;243,255,0,71;244,255,0,66;245,255,0,59;246,255,0,53;247,255,0,47;248,255,0,41;249,255,0,35;250,255,0,29;251,255,0,23;252,255,0,17;253,255,0,11;254,255,0,5;255,255,0,0"
      , "0,0,255,0;1,0,255,0;2,1,255,0;3,2,255,0;4,3,255,0;5,4,255,0;6,5,255,0;7,6,255,0;8,7,255,0;9,8,255,0;10,9,255,0;11,10,255,0;12,11,255,0;13,12,255,0;14,13,255,0;15,14,255,0;16,15,255,0;17,16,255,0;18,17,255,0;19,18,255,0;20,19,255,0;21,20,255,0;22,21,255,0;23,22,255,0;24,23,255,0;25,24,255,0;26,25,255,0;27,26,255,0;28,27,255,0;29,28,255,0;30,29,255,0;31,30,255,0;32,31,255,0;33,33,255,0;34,33,255,0;35,35,255,0;36,35,255,0;37,37,255,0;38,37,255,0;39,39,255,0;40,39,255,0;41,41,255,0;42,41,255,0;43,43,255,0;44,43,255,0;45,45,255,0;46,45,255,0;47,47,255,0;48,47,255,0;49,49,255,0;50,49,255,0;51,51,255,0;52,51,255,0;53,53,255,0;54,53,255,0;55,55,255,0;56,55,255,0;57,57,255,0;58,57,255,0;59,59,255,0;60,59,255,0;61,61,255,0;62,61,255,0;63,63,255,0;64,63,255,0;65,64,255,0;66,66,255,0;67,67,255,0;68,67,255,0;69,68,255,0;70,70,255,0;71,71,255,0;72,71,255,0;73,72,255,0;74,74,255,0;75,75,255,0;76,75,255,0;77,76,255,0;78,78,255,0;79,79,255,0;80,79,255,0;81,80,255,0;82,82,255,0;83,83,255,0;84,83,255,0;85,84,255,0;86,86,255,0;87,87,255,0;88,87,255,0;89,88,255,0;90,90,255,0;91,91,255,0;92,91,255,0;93,92,255,0;94,94,255,0;95,95,255,0;96,95,255,0;97,96,255,0;98,98,255,0;99,99,255,0;100,99,255,0;101,100,255,0;102,102,255,0;103,103,255,0;104,103,255,0;105,104,255,0;106,106,255,0;107,107,255,0;108,107,255,0;109,108,255,0;110,110,255,0;111,111,255,0;112,111,255,0;113,112,255,0;114,114,255,0;115,115,255,0;116,115,255,0;117,116,255,0;118,118,255,0;119,119,255,0;120,119,255,0;121,120,255,0;122,122,255,0;123,123,255,0;124,123,255,0;125,124,255,0;126,126,255,0;127,127,255,0;128,127,255,0;129,128,255,0;130,129,255,0;131,130,255,0;132,132,255,0;133,133,255,0;134,134,255,0;135,135,255,0;136,135,255,0;137,136,255,0;138,137,255,0;139,138,255,0;140,140,255,0;141,141,255,0;142,142,255,0;143,143,255,0;144,143,255,0;145,144,255,0;146,145,255,0;147,146,255,0;148,148,255,0;149,149,255,0;150,150,255,0;151,151,255,0;152,151,255,0;153,152,255,0;154,153,255,0;155,154,255,0;156,156,255,0;157,157,255,0;158,158,255,0;159,159,255,0;160,159,255,0;161,160,255,0;162,161,255,0;163,162,255,0;164,164,255,0;165,165,255,0;166,166,255,0;167,167,255,0;168,167,255,0;169,168,255,0;170,169,255,0;171,170,255,0;172,172,255,0;173,173,255,0;174,174,255,0;175,175,255,0;176,175,255,0;177,176,255,0;178,177,255,0;179,178,255,0;180,180,255,0;181,181,255,0;182,182,255,0;183,183,255,0;184,183,255,0;185,184,255,0;186,185,255,0;187,186,255,0;188,188,255,0;189,189,255,0;190,190,255,0;191,191,255,0;192,191,255,0;193,192,255,0;194,193,255,0;195,194,255,0;196,196,255,0;197,197,255,0;198,198,255,0;199,199,255,0;200,199,255,0;201,200,255,0;202,201,255,0;203,202,255,0;204,204,255,0;205,205,255,0;206,206,255,0;207,207,255,0;208,207,255,0;209,208,255,0;210,209,255,0;211,210,255,0;212,212,255,0;213,213,255,0;214,214,255,0;215,215,255,0;216,215,255,0;217,216,255,0;218,217,255,0;219,218,255,0;220,220,255,0;221,221,255,0;222,222,255,0;223,223,255,0;224,223,255,0;225,224,255,0;226,225,255,0;227,226,255,0;228,228,255,0;229,229,255,0;230,230,255,0;231,231,255,0;232,231,255,0;233,232,255,0;234,233,255,0;235,234,255,0;236,236,255,0;237,237,255,0;238,238,255,0;239,239,255,0;240,239,255,0;241,240,255,0;242,241,255,0;243,242,255,0;244,244,255,0;245,245,255,0;246,246,255,0;247,247,255,0;248,247,255,0;249,248,255,0;250,249,255,0;251,250,255,0;252,252,255,0;253,253,255,0;254,254,255,0;255,255,255,0"
      , "0,0,255,0;1,0,254,0;2,1,253,1;3,2,252,2;4,3,250,3;5,4,249,4;6,5,248,5;7,6,247,6;8,7,247,7;9,8,246,8;10,9,245,9;11,10,244,10;12,11,242,11;13,12,241,12;14,13,240,13;15,14,239,14;16,15,239,15;17,16,238,16;18,17,237,17;19,18,236,18;20,19,234,19;21,20,233,20;22,21,232,21;23,22,231,22;24,23,231,23;25,24,230,24;26,25,229,25;27,26,228,26;28,27,226,27;29,28,225,28;30,29,224,29;31,30,223,30;32,31,223,31;33,33,222,33;34,33,221,33;35,35,220,35;36,35,218,35;37,37,217,37;38,37,216,37;39,39,215,39;40,39,215,39;41,41,214,41;42,41,213,41;43,43,212,43;44,43,210,43;45,45,209,45;46,45,208,45;47,47,207,47;48,47,207,47;49,49,206,49;50,49,205,49;51,51,204,51;52,51,202,51;53,53,201,53;54,53,200,53;55,55,199,55;56,55,199,55;57,57,198,57;58,57,197,57;59,59,196,59;60,59,194,59;61,61,193,61;62,61,192,61;63,63,191,63;64,63,191,63;65,64,190,64;66,66,189,66;67,67,188,67;68,67,186,67;69,68,185,68;70,70,184,70;71,71,183,71;72,71,183,71;73,72,182,72;74,74,181,74;75,75,180,75;76,75,178,75;77,76,177,76;78,78,176,78;79,79,175,79;80,79,175,79;81,80,174,80;82,82,173,82;83,83,172,83;84,83,170,83;85,84,169,84;86,86,168,86;87,87,167,87;88,87,167,87;89,88,166,88;90,90,165,90;91,91,164,91;92,91,162,91;93,92,161,92;94,94,160,94;95,95,159,95;96,95,159,95;97,96,158,96;98,98,157,98;99,99,156,99;100,99,154,99;101,100,153,100;102,102,152,102;103,103,151,103;104,103,151,103;105,104,150,104;106,106,149,106;107,107,148,107;108,107,146,107;109,108,145,108;110,110,144,110;111,111,143,111;112,111,143,111;113,112,142,112;114,114,141,114;115,115,140,115;116,115,138,115;117,116,137,116;118,118,136,118;119,119,135,119;120,119,135,119;121,120,134,120;122,122,133,122;123,123,132,123;124,123,130,123;125,124,129,124;126,126,128,126;127,127,127,127;128,127,127,127;129,128,126,128;130,129,124,129;131,130,123,130;132,132,123,132;133,133,122,133;134,134,120,134;135,135,119,135;136,135,119,135;137,136,118,136;138,137,116,137;139,138,115,138;140,140,115,140;141,141,114,141;142,142,112,142;143,143,111,143;144,143,111,143;145,144,110,144;146,145,108,145;147,146,107,146;148,148,107,148;149,149,106,149;150,150,104,150;151,151,103,151;152,151,103,151;153,152,102,152;154,153,100,153;155,154,99,154;156,156,99,156;157,157,98,157;158,158,96,158;159,159,95,159;160,159,95,159;161,160,94,160;162,161,92,161;163,162,91,162;164,164,91,164;165,165,90,165;166,166,88,166;167,167,87,167;168,167,87,167;169,168,86,168;170,169,84,169;171,170,83,170;172,172,83,172;173,173,82,173;174,174,80,174;175,175,79,175;176,175,79,175;177,176,78,176;178,177,76,177;179,178,75,178;180,180,75,180;181,181,74,181;182,182,72,182;183,183,71,183;184,183,71,183;185,184,70,184;186,185,68,185;187,186,67,186;188,188,67,188;189,189,66,189;190,190,64,190;191,191,63,191;192,191,63,191;193,192,61,192;194,193,61,193;195,194,59,194;196,196,59,196;197,197,57,197;198,198,57,198;199,199,55,199;200,199,55,199;201,200,53,200;202,201,53,201;203,202,51,202;204,204,51,204;205,205,49,205;206,206,49,206;207,207,47,207;208,207,47,207;209,208,45,208;210,209,45,209;211,210,43,210;212,212,43,212;213,213,41,213;214,214,41,214;215,215,39,215;216,215,39,215;217,216,37,216;218,217,37,217;219,218,35,218;220,220,35,220;221,221,33,221;222,222,33,222;223,223,31,223;224,223,30,223;225,224,29,224;226,225,28,225;227,226,27,226;228,228,26,228;229,229,25,229;230,230,24,230;231,231,23,231;232,231,22,231;233,232,21,232;234,233,20,233;235,234,19,234;236,236,18,236;237,237,17,237;238,238,16,238;239,239,15,239;240,239,14,239;241,240,13,240;242,241,12,241;243,242,11,242;244,244,10,244;245,245,9,245;246,246,8,246;247,247,7,247;248,247,6,247;249,248,5,248;250,249,4,249;251,250,3,250;252,252,2,252;253,253,1,253;254,254,0,254;255,255,0,255"
      , "0,0,0,255;1,0,3,250;2,0,7,247;3,0,11,242;4,0,15,239;5,0,19,234;6,0,23,231;7,0,27,226;8,0,31,223;9,0,35,218;10,0,39,215;11,0,43,210;12,0,47,207;13,0,51,202;14,0,55,199;15,0,59,194;16,0,63,191;17,0,67,186;18,0,71,183;19,0,75,178;20,0,79,175;21,0,83,170;22,0,87,167;23,0,91,162;24,0,95,159;25,0,99,154;26,0,103,151;27,0,107,146;28,0,111,143;29,0,115,138;30,0,119,135;31,0,123,130;32,0,127,127;33,0,132,123;34,0,135,119;35,0,140,115;36,0,143,111;37,0,148,107;38,0,151,103;39,0,156,99;40,0,159,95;41,0,164,91;42,0,167,87;43,0,172,83;44,0,175,79;45,0,180,75;46,0,183,71;47,0,188,67;48,0,191,63;49,0,196,59;50,0,199,55;51,0,204,51;52,0,207,47;53,0,212,43;54,0,215,39;55,0,220,35;56,0,223,30;57,0,228,26;58,0,231,22;59,0,236,18;60,0,239,14;61,0,244,10;62,0,247,6;63,0,252,2;64,0,254,0;65,4,249,0;66,8,246,0;67,12,241,0;68,16,238,0;69,20,233,0;70,24,230,0;71,28,225,0;72,33,222,0;73,37,217,0;74,41,214,0;75,45,209,0;76,49,206,0;77,53,201,0;78,57,198,0;79,61,193,0;80,64,190,0;81,68,185,0;82,72,182,0;83,76,177,0;84,80,174,0;85,84,169,0;86,88,166,0;87,92,161,0;88,96,158,0;89,100,153,0;90,104,150,0;91,108,145,0;92,112,142,0;93,116,137,0;94,120,134,0;95,124,129,0;96,128,126,0;97,133,122,0;98,136,118,0;99,141,114,0;100,144,110,0;101,149,106,0;102,152,102,0;103,157,98,0;104,160,94,0;105,165,90,0;106,168,86,0;107,173,82,0;108,176,78,0;109,181,74,0;110,184,70,0;111,189,66,0;112,192,61,0;113,197,57,0;114,200,53,0;115,205,49,0;116,208,45,0;117,213,41,0;118,216,37,0;119,221,33,0;120,224,29,0;121,229,25,0;122,232,21,0;123,237,17,0;124,240,13,0;125,245,9,0;126,248,5,0;127,253,1,0;128,253,1,0;129,248,5,0;130,245,9,0;131,240,13,0;132,237,17,0;133,232,21,0;134,229,25,0;135,224,29,0;136,221,33,0;137,216,37,0;138,213,41,0;139,208,45,0;140,205,49,0;141,200,53,0;142,197,57,0;143,192,61,0;144,189,66,0;145,184,70,0;146,181,74,0;147,176,78,0;148,173,82,0;149,168,86,0;150,165,90,0;151,160,94,0;152,157,98,0;153,152,102,0;154,149,106,0;155,144,110,0;156,141,114,0;157,136,118,0;158,133,122,0;159,128,126,0;160,124,129,0;161,120,134,0;162,116,137,0;163,112,142,0;164,108,145,0;165,104,150,0;166,100,153,0;167,96,158,0;168,92,161,0;169,88,166,0;170,84,169,0;171,80,174,0;172,76,177,0;173,72,182,0;174,68,185,0;175,64,190,0;176,61,193,0;177,57,198,0;178,53,201,0;179,49,206,0;180,45,209,0;181,41,214,0;182,37,217,0;183,33,222,0;184,28,225,0;185,24,230,0;186,20,233,0;187,16,238,0;188,12,241,0;189,8,246,0;190,4,249,0;191,0,254,0;192,0,252,2;193,0,247,6;194,0,244,10;195,0,239,14;196,0,236,18;197,0,231,22;198,0,228,26;199,0,223,30;200,0,220,35;201,0,215,39;202,0,212,43;203,0,207,47;204,0,204,51;205,0,199,55;206,0,196,59;207,0,191,63;208,0,188,67;209,0,183,71;210,0,180,75;211,0,175,79;212,0,172,83;213,0,167,87;214,0,164,91;215,0,159,95;216,0,156,99;217,0,151,103;218,0,148,107;219,0,143,111;220,0,140,115;221,0,135,119;222,0,132,123;223,0,127,127;224,0,123,130;225,0,119,135;226,0,115,138;227,0,111,143;228,0,107,146;229,0,103,151;230,0,99,154;231,0,95,159;232,0,91,162;233,0,87,167;234,0,83,170;235,0,79,175;236,0,75,178;237,0,71,183;238,0,67,186;239,0,63,191;240,0,59,194;241,0,55,199;242,0,51,202;243,0,47,207;244,0,43,210;245,0,39,215;246,0,35,218;247,0,31,223;248,0,27,226;249,0,23,231;250,0,19,234;251,0,15,239;252,0,11,242;253,0,7,247;254,0,3,250;255,0,0,255"
      , "0,0,0,0;1,1,1,1;2,3,3,3;3,5,5,5;4,7,7,7;5,9,9,9;6,11,11,11;7,13,13,13;8,15,15,15;9,17,17,17;10,19,19,19;11,21,21,21;12,23,23,23;13,25,25,25;14,27,27,27;15,29,29,29;16,31,31,31;17,33,33,33;18,35,35,35;19,37,37,37;20,39,39,39;21,41,41,41;22,43,43,43;23,45,45,45;24,47,47,47;25,49,49,49;26,51,51,51;27,53,53,53;28,55,55,55;29,57,57,57;30,59,59,59;31,61,61,61;32,63,63,63;33,66,66,66;34,67,67,67;35,70,70,70;36,71,71,71;37,74,74,74;38,75,75,75;39,78,78,78;40,79,79,79;41,82,82,82;42,83,83,83;43,86,86,86;44,87,87,87;45,90,90,90;46,91,91,91;47,94,94,94;48,95,95,95;49,98,98,98;50,99,99,99;51,102,102,102;52,103,103,103;53,106,106,106;54,107,107,107;55,110,110,110;56,111,111,111;57,114,114,114;58,115,115,115;59,118,118,118;60,119,119,119;61,122,122,122;62,123,123,123;63,126,126,126;64,127,127,127;65,129,129,129;66,132,132,132;67,134,134,134;68,135,135,135;69,137,137,137;70,140,140,140;71,142,142,142;72,143,143,143;73,145,145,145;74,148,148,148;75,150,150,150;76,151,151,151;77,153,153,153;78,156,156,156;79,158,158,158;80,159,159,159;81,161,161,161;82,164,164,164;83,166,166,166;84,167,167,167;85,169,169,169;86,172,172,172;87,174,174,174;88,175,175,175;89,177,177,177;90,180,180,180;91,182,182,182;92,183,183,183;93,185,185,185;94,188,188,188;95,190,190,190;96,191,191,191;97,193,193,193;98,196,196,196;99,198,198,198;100,199,199,199;101,201,201,201;102,204,204,204;103,206,206,206;104,207,207,207;105,209,209,209;106,212,212,212;107,214,214,214;108,215,215,215;109,217,217,217;110,220,220,220;111,222,222,222;112,223,223,223;113,225,225,225;114,228,228,228;115,230,230,230;116,231,231,231;117,233,233,233;118,236,236,236;119,238,238,238;120,239,239,239;121,241,241,241;122,244,244,244;123,246,246,246;124,247,247,247;125,249,249,249;126,252,252,252;127,254,254,254;128,254,254,254;129,252,252,252;130,249,249,249;131,247,247,247;132,246,246,246;133,244,244,244;134,241,241,241;135,239,239,239;136,238,238,238;137,236,236,236;138,233,233,233;139,231,231,231;140,230,230,230;141,228,228,228;142,225,225,225;143,223,223,223;144,222,222,222;145,220,220,220;146,217,217,217;147,215,215,215;148,214,214,214;149,212,212,212;150,209,209,209;151,207,207,207;152,206,206,206;153,204,204,204;154,201,201,201;155,199,199,199;156,198,198,198;157,196,196,196;158,193,193,193;159,191,191,191;160,190,190,190;161,188,188,188;162,185,185,185;163,183,183,183;164,182,182,182;165,180,180,180;166,177,177,177;167,175,175,175;168,174,174,174;169,172,172,172;170,169,169,169;171,167,167,167;172,166,166,166;173,164,164,164;174,161,161,161;175,159,159,159;176,158,158,158;177,156,156,156;178,153,153,153;179,151,151,151;180,150,150,150;181,148,148,148;182,145,145,145;183,143,143,143;184,142,142,142;185,140,140,140;186,137,137,137;187,135,135,135;188,134,134,134;189,132,132,132;190,129,129,129;191,127,127,127;192,126,126,126;193,123,123,123;194,122,122,122;195,119,119,119;196,118,118,118;197,115,115,115;198,114,114,114;199,111,111,111;200,110,110,110;201,107,107,107;202,106,106,106;203,103,103,103;204,102,102,102;205,99,99,99;206,98,98,98;207,95,95,95;208,94,94,94;209,91,91,91;210,90,90,90;211,87,87,87;212,86,86,86;213,83,83,83;214,82,82,82;215,79,79,79;216,78,78,78;217,75,75,75;218,74,74,74;219,71,71,71;220,70,70,70;221,67,67,67;222,66,66,66;223,63,63,63;224,61,61,61;225,59,59,59;226,57,57,57;227,55,55,55;228,53,53,53;229,51,51,51;230,49,49,49;231,47,47,47;232,45,45,45;233,43,43,43;234,41,41,41;235,39,39,39;236,37,37,37;237,35,35,35;238,33,33,33;239,31,31,31;240,29,29,29;241,27,27,27;242,25,25,25;243,23,23,23;244,21,21,21;245,19,19,19;246,17,17,17;247,15,15,15;248,13,13,13;249,11,11,11;250,9,9,9;251,7,7,7;252,5,5,5;253,3,3,3;254,1,1,1;255,0,0,0"
      , "0,255,0,0;1,252,0,2;2,248,0,5;3,246,0,8;4,242,0,11;5,239,0,14;6,237,0,17;7,233,0,20;8,231,0,23;9,228,0,26;10,224,0,29;11,222,0,33;12,218,0,35;13,215,0,39;14,213,0,41;15,209,0,45;16,207,0,47;17,204,0,51;18,200,0,53;19,198,0,57;20,194,0,59;21,191,0,63;22,189,0,66;23,185,0,68;24,183,0,71;25,180,0,75;26,176,0,78;27,174,0,80;28,170,0,83;29,167,0,87;30,165,0,90;31,161,0,92;32,159,0,95;33,156,0,99;34,152,0,102;35,150,0,104;36,146,0,107;37,143,0,111;38,141,0,114;39,137,0,116;40,135,0,119;41,132,0,123;42,128,0,126;43,126,0,128;44,123,0,132;45,119,0,135;46,116,0,137;47,114,0,141;48,111,0,143;49,107,0,146;50,104,0,150;51,102,0,152;52,99,0,156;53,95,0,159;54,92,0,161;55,90,0,165;56,87,0,167;57,83,0,170;58,80,0,174;59,78,0,176;60,75,0,180;61,71,0,183;62,68,0,185;63,66,0,189;64,63,0,191;65,59,0,194;66,57,0,198;67,53,0,200;68,51,0,204;69,47,0,207;70,45,0,209;71,41,0,213;72,39,0,215;73,35,0,218;74,33,0,222;75,29,0,224;76,26,0,228;77,23,0,231;78,20,0,233;79,17,0,237;80,14,0,239;81,11,0,242;82,8,0,246;83,5,0,248;84,2,0,252;85,0,0,255;86,0,2,255;87,0,5,255;88,0,8,255;89,0,11,255;90,0,14,255;91,0,17,255;92,0,20,255;93,0,23,255;94,0,26,255;95,0,29,255;96,0,33,255;97,0,35,255;98,0,39,255;99,0,41,255;100,0,45,255;101,0,47,255;102,0,51,255;103,0,53,255;104,0,57,255;105,0,59,255;106,0,63,255;107,0,66,255;108,0,68,255;109,0,71,255;110,0,75,255;111,0,78,255;112,0,80,255;113,0,83,255;114,0,87,255;115,0,90,255;116,0,92,255;117,0,95,255;118,0,99,255;119,0,102,255;120,0,104,255;121,0,107,255;122,0,111,255;123,0,114,255;124,0,116,255;125,0,119,255;126,0,123,255;127,0,126,255;128,0,128,255;129,0,132,255;130,0,135,255;131,0,137,255;132,0,141,255;133,0,143,255;134,0,146,255;135,0,150,255;136,0,152,255;137,0,156,255;138,0,159,255;139,0,161,255;140,0,165,255;141,0,167,255;142,0,170,255;143,0,174,255;144,0,176,255;145,0,180,255;146,0,183,255;147,0,185,255;148,0,189,255;149,0,191,255;150,0,194,255;151,0,198,255;152,0,200,255;153,0,204,255;154,0,207,255;155,0,209,255;156,0,213,255;157,0,215,255;158,0,218,255;159,0,222,255;160,0,224,255;161,0,228,255;162,0,231,255;163,0,233,255;164,0,237,255;165,0,239,255;166,0,242,255;167,0,246,255;168,0,248,255;169,0,252,255;170,0,255,255;171,2,252,255;172,5,248,255;173,8,246,255;174,11,242,255;175,14,239,255;176,17,237,255;177,20,233,255;178,23,231,255;179,26,228,255;180,29,224,255;181,33,222,255;182,35,218,255;183,39,215,255;184,41,213,255;185,45,209,255;186,47,207,255;187,51,204,255;188,53,200,255;189,57,198,255;190,59,194,255;191,63,191,255;192,66,189,255;193,68,185,255;194,71,183,255;195,75,180,255;196,78,176,255;197,80,174,255;198,83,170,255;199,87,167,255;200,90,165,255;201,92,161,255;202,95,159,255;203,99,156,255;204,102,152,255;205,104,150,255;206,107,146,255;207,111,143,255;208,114,141,255;209,116,137,255;210,119,135,255;211,123,132,255;212,126,128,255;213,128,126,255;214,132,123,255;215,135,119,255;216,137,116,255;217,141,114,255;218,143,111,255;219,146,107,255;220,150,104,255;221,152,102,255;222,156,99,255;223,159,95,255;224,161,92,255;225,165,90,255;226,167,87,255;227,170,83,255;228,174,80,255;229,176,78,255;230,180,75,255;231,183,71,255;232,185,68,255;233,189,66,255;234,191,63,255;235,194,59,255;236,198,57,255;237,200,53,255;238,204,51,255;239,207,47,255;240,209,45,255;241,213,41,255;242,215,39,255;243,218,35,255;244,222,33,255;245,224,29,255;246,228,26,255;247,231,23,255;248,233,20,255;249,237,17,255;250,239,14,255;251,242,11,255;252,246,8,255;253,248,5,255;254,252,2,255;255,255,0,255"
      , "0,0,0,255;1,0,4,255;2,0,9,255;3,0,14,255;4,0,19,255;5,0,24,255;6,0,29,255;7,0,35,255;8,0,39,255;9,0,45,255;10,0,49,255;11,0,55,255;12,0,59,255;13,0,64,255;14,0,70,255;15,0,75,255;16,0,79,255;17,0,84,255;18,0,90,255;19,0,95,255;20,0,99,255;21,0,104,255;22,0,110,255;23,0,115,255;24,0,119,255;25,0,124,255;26,0,129,255;27,0,135,255;28,0,140,255;29,0,144,255;30,0,150,255;31,0,154,255;32,0,159,255;33,0,165,255;34,0,169,255;35,0,175,255;36,0,180,255;37,0,184,255;38,0,190,255;39,0,194,255;40,0,199,255;41,0,205,255;42,0,209,255;43,0,215,255;44,0,220,255;45,0,224,255;46,0,230,255;47,0,234,255;48,0,239,255;49,0,245,255;50,0,249,255;51,0,255,255;52,0,255,250;53,0,255,245;54,0,255,240;55,0,255,235;56,0,255,230;57,0,255,225;58,0,255,220;59,0,255,215;60,0,255,210;61,0,255,205;62,0,255,200;63,0,255,195;64,0,255,190;65,0,255,185;66,0,255,180;67,0,255,175;68,0,255,170;69,0,255,165;70,0,255,160;71,0,255,155;72,0,255,150;73,0,255,145;74,0,255,140;75,0,255,135;76,0,255,130;77,0,255,125;78,0,255,120;79,0,255,115;80,0,255,110;81,0,255,105;82,0,255,100;83,0,255,95;84,0,255,90;85,0,255,85;86,0,255,80;87,0,255,75;88,0,255,70;89,0,255,65;90,0,255,60;91,0,255,55;92,0,255,50;93,0,255,45;94,0,255,40;95,0,255,35;96,0,255,30;97,0,255,25;98,0,255,20;99,0,255,15;100,0,255,10;101,0,255,5;102,0,255,0;103,4,255,0;104,9,255,0;105,14,255,0;106,19,255,0;107,24,255,0;108,29,255,0;109,34,255,0;110,39,255,0;111,44,255,0;112,49,255,0;113,54,255,0;114,59,255,0;115,64,255,0;116,69,255,0;117,74,255,0;118,79,255,0;119,84,255,0;120,89,255,0;121,94,255,0;122,99,255,0;123,104,255,0;124,109,255,0;125,114,255,0;126,119,255,0;127,124,255,0;128,129,255,0;129,134,255,0;130,139,255,0;131,144,255,0;132,149,255,0;133,154,255,0;134,159,255,0;135,164,255,0;136,169,255,0;137,174,255,0;138,179,255,0;139,184,255,0;140,189,255,0;141,194,255,0;142,199,255,0;143,204,255,0;144,209,255,0;145,214,255,0;146,219,255,0;147,224,255,0;148,229,255,0;149,234,255,0;150,239,255,0;151,244,255,0;152,249,255,0;153,255,254,0;154,255,249,0;155,255,244,0;156,255,239,0;157,255,234,0;158,255,229,0;159,255,224,0;160,255,219,0;161,255,214,0;162,255,209,0;163,255,204,0;164,255,199,0;165,255,194,0;166,255,189,0;167,255,184,0;168,255,179,0;169,255,174,0;170,255,169,0;171,255,164,0;172,255,159,0;173,255,154,0;174,255,149,0;175,255,144,0;176,255,139,0;177,255,134,0;178,255,129,0;179,255,124,0;180,255,119,0;181,255,114,0;182,255,109,0;183,255,104,0;184,255,99,0;185,255,94,0;186,255,89,0;187,255,84,0;188,255,79,0;189,255,74,0;190,255,69,0;191,255,64,0;192,255,59,0;193,255,54,0;194,255,49,0;195,255,44,0;196,255,39,0;197,255,34,0;198,255,29,0;199,255,24,0;200,255,19,0;201,255,14,0;202,255,9,0;203,255,4,0;204,255,0,0;205,255,4,4;206,255,9,9;207,255,14,14;208,255,19,19;209,255,24,24;210,255,29,29;211,255,34,34;212,255,39,39;213,255,44,44;214,255,49,49;215,255,54,54;216,255,59,59;217,255,64,64;218,255,69,69;219,255,74,74;220,255,79,79;221,255,84,84;222,255,89,89;223,255,94,94;224,255,99,99;225,255,104,104;226,255,109,109;227,255,114,114;228,255,119,119;229,255,124,124;230,255,129,129;231,255,134,134;232,255,139,139;233,255,144,144;234,255,149,149;235,255,154,154;236,255,159,159;237,255,164,164;238,255,169,169;239,255,174,174;240,255,179,179;241,255,184,184;242,255,189,189;243,255,194,194;244,255,199,199;245,255,204,204;246,255,209,209;247,255,214,214;248,255,219,219;249,255,224,224;250,255,229,229;251,255,234,234;252,255,239,239;253,255,244,244;254,255,249,249;255,255,254,254"
      , "0,199,59,0;1,200,60,0;2,200,60,0;3,200,61,1;4,200,61,1;5,200,61,2;6,201,62,2;7,201,62,3;8,201,63,3;9,201,63,3;10,201,63,4;11,202,64,4;12,202,64,5;13,202,65,5;14,202,65,6;15,202,65,6;16,203,66,6;17,203,66,7;18,203,67,7;19,203,67,8;20,203,67,8;21,204,68,9;22,204,68,9;23,204,69,9;24,204,69,10;25,204,69,10;26,205,70,11;27,205,70,11;28,205,70,12;29,205,71,12;30,205,71,12;31,206,72,13;32,206,72,13;33,206,72,14;34,206,73,14;35,206,73,15;36,207,74,15;37,207,74,15;38,207,74,16;39,207,75,16;40,207,75,17;41,208,76,17;42,208,76,18;43,208,76,18;44,208,77,18;45,208,77,19;46,209,78,19;47,209,78,20;48,209,78,20;49,209,79,21;50,209,79,21;51,209,79,21;52,210,80,22;53,210,80,22;54,210,81,23;55,210,81,23;56,210,81,24;57,211,82,24;58,211,82,25;59,211,83,25;60,211,83,25;61,211,83,26;62,212,84,26;63,212,84,27;64,212,85,27;65,212,85,28;66,212,85,28;67,213,86,28;68,213,86,29;69,213,87,29;70,213,87,30;71,213,87,30;72,214,88,31;73,214,88,31;74,214,89,31;75,214,89,32;76,214,89,32;77,215,90,33;78,215,90,33;79,215,90,34;80,215,91,34;81,215,91,34;82,216,92,35;83,216,92,35;84,216,92,36;85,216,93,36;86,216,93,37;87,217,94,37;88,217,94,37;89,217,94,38;90,217,95,38;91,217,95,39;92,218,96,39;93,218,96,40;94,218,96,40;95,218,97,40;96,218,97,41;97,219,98,41;98,219,98,42;99,219,98,42;100,219,99,43;101,219,99,43;102,219,99,43;103,220,100,44;104,220,100,44;105,220,101,45;106,220,101,45;107,220,101,46;108,221,102,46;109,221,102,47;110,221,103,47;111,221,103,47;112,221,103,48;113,222,104,48;114,222,104,49;115,222,105,49;116,222,105,50;117,222,105,50;118,223,106,50;119,223,106,51;120,223,107,51;121,223,107,52;122,223,107,52;123,224,108,53;124,224,108,53;125,224,109,53;126,224,109,54;127,224,109,54;128,225,110,55;129,225,110,55;130,225,110,56;131,225,111,56;132,225,111,56;133,226,112,57;134,226,112,57;135,226,112,58;136,226,113,58;137,226,113,59;138,227,114,59;139,227,114,59;140,227,114,60;141,227,115,60;142,227,115,61;143,228,116,61;144,228,116,62;145,228,116,62;146,228,117,62;147,228,117,63;148,229,118,63;149,229,118,64;150,229,118,64;151,229,119,65;152,229,119,65;153,230,119,66;154,230,120,66;155,230,120,66;156,230,121,67;157,230,121,67;158,230,121,68;159,231,122,68;160,231,122,69;161,231,123,69;162,231,123,69;163,231,123,70;164,232,124,70;165,232,124,71;166,232,125,71;167,232,125,72;168,232,125,72;169,233,126,72;170,233,126,73;171,233,127,73;172,233,127,74;173,233,127,74;174,234,128,75;175,234,128,75;176,234,129,75;177,234,129,76;178,234,129,76;179,235,130,77;180,235,130,77;181,235,130,78;182,235,131,78;183,235,131,78;184,236,132,79;185,236,132,79;186,236,132,80;187,236,133,80;188,236,133,81;189,237,134,81;190,237,134,81;191,237,134,82;192,237,135,82;193,237,135,83;194,238,136,83;195,238,136,84;196,238,136,84;197,238,137,84;198,238,137,85;199,239,138,85;200,239,138,86;201,239,138,86;202,239,139,87;203,239,139,87;204,239,140,87;205,240,140,88;206,240,140,88;207,240,141,89;208,240,141,89;209,240,141,90;210,241,142,90;211,241,142,91;212,241,143,91;213,241,143,91;214,241,143,92;215,242,144,92;216,242,144,93;217,242,145,93;218,242,145,94;219,242,145,94;220,243,146,94;221,243,146,95;222,243,147,95;223,243,147,96;224,243,147,96;225,244,148,97;226,244,148,97;227,244,149,97;228,244,149,98;229,244,149,98;230,245,150,99;231,245,150,99;232,245,150,100;233,245,151,100;234,245,151,100;235,246,152,101;236,246,152,101;237,246,152,102;238,246,153,102;239,246,153,103;240,247,154,103;241,247,154,103;242,247,154,104;243,247,155,104;244,247,155,105;245,248,156,105;246,248,156,106;247,248,156,106;248,248,157,106;249,248,157,107;250,249,158,107;251,249,158,108;252,249,158,108;253,249,159,109;254,249,159,109;255,249,159,110"
      , "0,55,55,45;1,56,55,44;2,58,55,44;3,60,56,44;4,62,56,44;5,63,56,44;6,65,57,44;7,67,57,43;8,69,57,43;9,70,58,43;10,72,58,43;11,74,58,43;12,76,59,43;13,77,59,43;14,79,59,42;15,81,60,42;16,83,60,42;17,84,60,42;18,86,61,42;19,88,61,42;20,90,61,42;21,92,62,41;22,93,62,41;23,95,62,41;24,97,63,41;25,99,63,41;26,100,63,41;27,102,64,41;28,104,64,40;29,106,64,40;30,107,65,40;31,109,65,40;32,111,65,40;33,113,66,40;34,114,66,39;35,116,67,39;36,118,67,39;37,120,67,39;38,122,68,39;39,123,68,39;40,125,68,39;41,127,69,38;42,129,69,38;43,130,69,38;44,132,70,38;45,134,70,38;46,136,70,38;47,137,71,38;48,139,71,37;49,141,71,37;50,143,72,37;51,144,72,37;52,146,72,37;53,148,73,37;54,150,73,37;55,152,73,36;56,153,74,36;57,155,74,36;58,157,74,36;59,159,75,36;60,160,75,36;61,162,75,36;62,164,76,35;63,166,76,35;64,167,76,35;65,169,77,35;66,171,77,35;67,173,77,35;68,174,78,35;69,176,78,34;70,178,79,34;71,180,79,34;72,182,79,34;73,183,80,34;74,185,80,34;75,187,80,33;76,189,81,33;77,190,81,33;78,192,81,33;79,194,82,33;80,196,82,33;81,197,82,33;82,199,83,32;83,201,83,32;84,203,83,32;85,204,84,32;86,206,84,32;87,208,84,32;88,210,85,32;89,212,85,31;90,213,85,31;91,215,86,31;92,217,86,31;93,219,86,31;94,220,87,31;95,222,87,31;96,224,87,30;97,226,88,30;98,227,88,30;99,229,88,30;100,231,89,30;101,233,89,30;102,234,90,29;103,235,90,30;104,235,90,31;105,235,91,31;106,235,91,32;107,235,92,32;108,235,92,33;109,235,93,33;110,235,93,34;111,235,94,34;112,235,94,35;113,236,95,35;114,236,95,36;115,236,95,36;116,236,96,37;117,236,96,37;118,236,97,38;119,236,97,38;120,236,98,39;121,236,98,39;122,236,99,40;123,237,99,40;124,237,100,41;125,237,100,42;126,237,100,42;127,237,101,43;128,237,101,43;129,237,102,44;130,237,102,44;131,237,103,45;132,237,103,45;133,238,104,46;134,238,104,46;135,238,105,47;136,238,105,47;137,238,106,48;138,238,106,48;139,238,106,49;140,238,107,49;141,238,107,50;142,238,108,50;143,239,108,51;144,239,109,51;145,239,109,52;146,239,110,53;147,239,110,53;148,239,111,54;149,239,111,54;150,239,111,55;151,239,112,55;152,239,112,56;153,239,113,56;154,240,113,57;155,240,114,57;156,240,114,58;157,240,115,58;158,240,115,59;159,240,116,59;160,240,116,60;161,240,116,60;162,240,117,61;163,240,117,61;164,241,118,62;165,241,118,62;166,241,119,63;167,241,119,63;168,241,120,64;169,241,120,65;170,241,121,65;171,241,121,66;172,241,122,66;173,241,122,67;174,242,122,67;175,242,123,68;176,242,123,68;177,242,124,69;178,242,124,69;179,242,125,70;180,242,125,70;181,242,126,71;182,242,126,71;183,242,127,72;184,243,127,72;185,243,127,73;186,243,128,73;187,243,128,74;188,243,129,74;189,243,129,75;190,243,130,76;191,243,130,76;192,243,131,77;193,243,131,77;194,244,132,78;195,244,132,78;196,244,133,79;197,244,133,79;198,244,133,80;199,244,134,80;200,244,134,81;201,244,135,81;202,244,135,82;203,244,136,82;204,244,136,83;205,245,137,83;206,245,137,84;207,245,138,84;208,245,138,85;209,245,138,85;210,245,139,86;211,245,139,86;212,245,140,87;213,245,140,88;214,245,141,88;215,246,141,89;216,246,142,89;217,246,142,90;218,246,143,90;219,246,143,91;220,246,143,91;221,246,144,92;222,246,144,92;223,246,145,93;224,246,145,93;225,247,146,94;226,247,146,94;227,247,147,95;228,247,147,95;229,247,148,96;230,247,148,96;231,247,149,97;232,247,149,97;233,247,149,98;234,247,150,99;235,248,150,99;236,248,151,100;237,248,151,100;238,248,152,101;239,248,152,101;240,248,153,102;241,248,153,102;242,248,154,103;243,248,154,103;244,248,154,104;245,249,155,104;246,249,155,105;247,249,156,105;248,249,156,106;249,249,157,106;250,249,157,107;251,249,158,107;252,249,158,108;253,249,159,108;254,249,159,109;255,249,159,110"
      , "0,0,255,0;1,3,253,0;2,6,252,0;3,9,250,0;4,13,249,0;5,16,248,0;6,19,246,0;7,23,245,0;8,26,244,0;9,29,242,0;10,33,241,0;11,36,239,0;12,39,238,0;13,43,237,0;14,46,235,0;15,49,234,0;16,53,233,0;17,56,231,0;18,59,230,0;19,63,228,0;20,66,227,0;21,70,226,0;22,73,224,0;23,76,223,0;24,79,222,0;25,83,220,0;26,86,219,0;27,90,217,0;28,93,216,0;29,96,215,0;30,99,213,0;31,103,212,0;32,106,211,0;33,110,209,0;34,113,208,0;35,116,206,0;36,119,205,0;37,123,204,0;38,126,202,0;39,129,201,0;40,133,200,0;41,136,198,0;42,140,197,0;43,143,195,0;44,146,194,0;45,150,193,0;46,153,191,0;47,156,190,0;48,159,189,0;49,163,187,0;50,166,186,0;51,170,184,0;52,173,183,0;53,176,182,0;54,180,180,0;55,183,179,0;56,186,178,0;57,190,176,0;58,193,175,0;59,196,174,0;60,199,172,0;61,203,171,0;62,206,169,0;63,210,168,0;64,213,167,0;65,216,165,0;66,220,164,0;67,223,163,0;68,226,161,0;69,230,160,0;70,233,158,0;71,236,157,0;72,239,156,0;73,243,154,0;74,246,153,0;75,250,152,0;76,253,150,0;77,255,150,0;78,255,150,2;79,255,151,3;80,255,151,4;81,255,152,6;82,255,153,7;83,255,153,8;84,255,154,10;85,255,154,11;86,255,155,12;87,255,155,14;88,255,156,15;89,255,157,16;90,255,157,18;91,255,158,19;92,255,158,20;93,255,159,22;94,255,159,23;95,255,160,24;96,255,160,26;97,255,161,27;98,255,162,28;99,255,162,30;100,255,163,31;101,255,163,32;102,255,164,34;103,255,164,35;104,255,165,36;105,255,165,38;106,255,166,39;107,255,167,41;108,255,167,42;109,255,168,43;110,255,168,45;111,255,169,46;112,255,169,47;113,255,170,49;114,255,171,50;115,255,171,51;116,255,172,53;117,255,172,54;118,255,173,55;119,255,173,57;120,255,174,58;121,255,174,59;122,255,175,61;123,255,176,62;124,255,176,63;125,255,177,65;126,255,177,66;127,255,178,67;128,255,178,69;129,255,179,70;130,255,179,71;131,255,180,73;132,255,181,74;133,255,181,75;134,255,182,77;135,255,182,78;136,255,183,79;137,255,183,81;138,255,184,82;139,255,185,84;140,255,185,85;141,255,186,86;142,255,186,88;143,255,187,89;144,255,187,90;145,255,188,92;146,255,188,93;147,255,189,94;148,255,190,96;149,255,190,97;150,255,191,98;151,255,191,100;152,255,192,101;153,255,192,102;154,255,193,104;155,255,193,105;156,255,194,106;157,255,195,108;158,255,195,109;159,255,196,110;160,255,196,112;161,255,197,113;162,255,197,114;163,255,198,116;164,255,199,117;165,255,199,118;166,255,200,120;167,255,200,121;168,255,201,123;169,255,201,124;170,255,202,125;171,255,202,127;172,255,203,128;173,255,204,129;174,255,204,131;175,255,205,132;176,255,205,133;177,255,206,135;178,255,206,136;179,255,207,137;180,255,207,139;181,255,208,140;182,255,209,141;183,255,209,143;184,255,210,144;185,255,210,145;186,255,211,147;187,255,211,148;188,255,212,149;189,255,213,151;190,255,213,152;191,255,214,153;192,255,214,155;193,255,215,156;194,255,215,157;195,255,216,159;196,255,216,160;197,255,217,162;198,255,218,163;199,255,218,164;200,255,219,166;201,255,219,167;202,255,220,168;203,255,220,170;204,255,221,171;205,255,221,172;206,255,222,174;207,255,223,175;208,255,223,176;209,255,224,178;210,255,224,179;211,255,225,180;212,255,225,182;213,255,226,183;214,255,227,184;215,255,227,186;216,255,228,187;217,255,228,188;218,255,229,190;219,255,229,191;220,255,230,192;221,255,230,194;222,255,231,195;223,255,232,196;224,255,232,198;225,255,233,199;226,255,233,201;227,255,234,202;228,255,234,203;229,255,235,205;230,255,235,206;231,255,236,207;232,255,237,209;233,255,237,210;234,255,238,211;235,255,238,213;236,255,239,214;237,255,239,215;238,255,240,217;239,255,241,218;240,255,241,219;241,255,242,221;242,255,242,222;243,255,243,223;244,255,243,225;245,255,244,226;246,255,244,227;247,255,245,229;248,255,246,230;249,255,246,231;250,255,247,233;251,255,247,234;252,255,248,235;253,255,248,237;254,255,249,238;255,255,249,239"
      , "0,255,255,0;1,255,254,0;2,255,253,0;3,255,252,0;4,255,250,0;5,255,249,0;6,255,248,0;7,255,247,0;8,255,247,0;9,255,246,0;10,255,245,0;11,255,244,0;12,255,242,0;13,255,241,0;14,255,240,0;15,255,239,0;16,255,239,0;17,255,238,0;18,255,237,0;19,255,236,0;20,255,234,0;21,255,233,0;22,255,232,0;23,255,231,0;24,255,231,0;25,255,230,0;26,255,229,0;27,255,228,0;28,255,226,0;29,255,225,0;30,255,224,0;31,255,223,0;32,255,223,0;33,255,222,0;34,255,221,0;35,255,220,0;36,255,218,0;37,255,217,0;38,255,216,0;39,255,215,0;40,255,215,0;41,255,214,0;42,255,213,0;43,255,212,0;44,255,210,0;45,255,209,0;46,255,208,0;47,255,207,0;48,255,207,0;49,255,206,0;50,255,205,0;51,255,204,0;52,255,202,0;53,255,201,0;54,255,200,0;55,255,199,0;56,255,199,0;57,255,198,0;58,255,197,0;59,255,196,0;60,255,194,0;61,255,193,0;62,255,192,0;63,255,191,0;64,255,191,0;65,255,190,0;66,255,189,0;67,255,188,0;68,255,186,0;69,255,185,0;70,255,184,0;71,255,183,0;72,255,183,0;73,255,182,0;74,255,181,0;75,255,180,0;76,255,178,0;77,255,177,0;78,255,176,0;79,255,175,0;80,255,175,0;81,255,174,0;82,255,173,0;83,255,172,0;84,255,170,0;85,255,169,0;86,255,168,0;87,255,167,0;88,255,167,0;89,255,166,0;90,255,165,0;91,255,164,0;92,255,162,0;93,255,161,0;94,255,160,0;95,255,159,0;96,255,159,0;97,255,158,0;98,255,157,0;99,255,156,0;100,255,154,0;101,255,153,0;102,255,152,0;103,255,151,0;104,255,151,0;105,255,150,0;106,255,149,0;107,255,148,0;108,255,146,0;109,255,145,0;110,255,144,0;111,255,143,0;112,255,143,0;113,255,142,0;114,255,141,0;115,255,140,0;116,255,138,0;117,255,137,0;118,255,136,0;119,255,135,0;120,255,135,0;121,255,134,0;122,255,133,0;123,255,132,0;124,255,130,0;125,255,129,0;126,255,128,0;127,255,127,0;128,255,127,0;129,255,126,0;130,255,124,0;131,255,123,0;132,255,123,0;133,255,122,0;134,255,120,0;135,255,119,0;136,255,119,0;137,255,118,0;138,255,116,0;139,255,115,0;140,255,115,0;141,255,114,0;142,255,112,0;143,255,111,0;144,255,111,0;145,255,110,0;146,255,108,0;147,255,107,0;148,255,107,0;149,255,106,0;150,255,104,0;151,255,103,0;152,255,103,0;153,255,102,0;154,255,100,0;155,255,99,0;156,255,99,0;157,255,98,0;158,255,96,0;159,255,95,0;160,255,95,0;161,255,94,0;162,255,92,0;163,255,91,0;164,255,91,0;165,255,90,0;166,255,88,0;167,255,87,0;168,255,87,0;169,255,86,0;170,255,84,0;171,255,83,0;172,255,83,0;173,255,82,0;174,255,80,0;175,255,79,0;176,255,79,0;177,255,78,0;178,255,76,0;179,255,75,0;180,255,75,0;181,255,74,0;182,255,72,0;183,255,71,0;184,255,71,0;185,255,70,0;186,255,68,0;187,255,67,0;188,255,67,0;189,255,66,0;190,255,64,0;191,255,63,0;192,255,63,0;193,255,61,0;194,255,61,0;195,255,59,0;196,255,59,0;197,255,57,0;198,255,57,0;199,255,55,0;200,255,55,0;201,255,53,0;202,255,53,0;203,255,51,0;204,255,51,0;205,255,49,0;206,255,49,0;207,255,47,0;208,255,47,0;209,255,45,0;210,255,45,0;211,255,43,0;212,255,43,0;213,255,41,0;214,255,41,0;215,255,39,0;216,255,39,0;217,255,37,0;218,255,37,0;219,255,35,0;220,255,35,0;221,255,33,0;222,255,33,0;223,255,31,0;224,255,30,0;225,255,29,0;226,255,28,0;227,255,27,0;228,255,26,0;229,255,25,0;230,255,24,0;231,255,23,0;232,255,22,0;233,255,21,0;234,255,20,0;235,255,19,0;236,255,18,0;237,255,17,0;238,255,16,0;239,255,15,0;240,255,14,0;241,255,13,0;242,255,12,0;243,255,11,0;244,255,10,0;245,255,9,0;246,255,8,0;247,255,7,0;248,255,6,0;249,255,5,0;250,255,4,0;251,255,3,0;252,255,2,0;253,255,1,0;254,255,0,0;255,255,0,0"
      , "0,0,0,255;1,0,3,255;2,0,7,255;3,0,11,255;4,0,15,255;5,0,19,255;6,0,23,255;7,0,27,255;8,0,31,255;9,0,35,255;10,0,39,255;11,0,43,255;12,0,47,255;13,0,51,255;14,0,55,255;15,0,59,255;16,0,63,255;17,0,67,255;18,0,71,255;19,0,75,255;20,0,79,255;21,0,83,255;22,0,87,255;23,0,91,255;24,0,95,255;25,0,99,255;26,0,103,255;27,0,107,255;28,0,111,255;29,0,115,255;30,0,119,255;31,0,123,255;32,0,127,255;33,0,132,255;34,0,135,255;35,0,140,255;36,0,143,255;37,0,148,255;38,0,151,255;39,0,156,255;40,0,159,255;41,0,164,255;42,0,167,255;43,0,172,255;44,0,175,255;45,0,180,255;46,0,183,255;47,0,188,255;48,0,191,255;49,0,196,255;50,0,199,255;51,0,204,255;52,0,207,255;53,0,212,255;54,0,215,255;55,0,220,255;56,0,223,255;57,0,228,255;58,0,231,255;59,0,236,255;60,0,239,255;61,0,244,255;62,0,247,255;63,0,252,255;64,0,255,254;65,0,255,249;66,0,255,246;67,0,255,241;68,0,255,238;69,0,255,233;70,0,255,230;71,0,255,225;72,0,255,222;73,0,255,217;74,0,255,214;75,0,255,209;76,0,255,206;77,0,255,201;78,0,255,198;79,0,255,193;80,0,255,190;81,0,255,185;82,0,255,182;83,0,255,177;84,0,255,174;85,0,255,169;86,0,255,166;87,0,255,161;88,0,255,158;89,0,255,153;90,0,255,150;91,0,255,145;92,0,255,142;93,0,255,137;94,0,255,134;95,0,255,129;96,0,255,126;97,0,255,122;98,0,255,118;99,0,255,114;100,0,255,110;101,0,255,106;102,0,255,102;103,0,255,98;104,0,255,94;105,0,255,90;106,0,255,86;107,0,255,82;108,0,255,78;109,0,255,74;110,0,255,70;111,0,255,66;112,0,255,61;113,0,255,57;114,0,255,53;115,0,255,49;116,0,255,45;117,0,255,41;118,0,255,37;119,0,255,33;120,0,255,29;121,0,255,25;122,0,255,21;123,0,255,17;124,0,255,13;125,0,255,9;126,0,255,5;127,0,255,1;128,1,255,0;129,5,255,0;130,9,255,0;131,13,255,0;132,17,255,0;133,21,255,0;134,25,255,0;135,29,255,0;136,33,255,0;137,37,255,0;138,41,255,0;139,45,255,0;140,49,255,0;141,53,255,0;142,57,255,0;143,61,255,0;144,66,255,0;145,70,255,0;146,74,255,0;147,78,255,0;148,82,255,0;149,86,255,0;150,90,255,0;151,94,255,0;152,98,255,0;153,102,255,0;154,106,255,0;155,110,255,0;156,114,255,0;157,118,255,0;158,122,255,0;159,126,255,0;160,129,255,0;161,134,255,0;162,137,255,0;163,142,255,0;164,145,255,0;165,150,255,0;166,153,255,0;167,158,255,0;168,161,255,0;169,166,255,0;170,169,255,0;171,174,255,0;172,177,255,0;173,182,255,0;174,185,255,0;175,190,255,0;176,193,255,0;177,198,255,0;178,201,255,0;179,206,255,0;180,209,255,0;181,214,255,0;182,217,255,0;183,222,255,0;184,225,255,0;185,230,255,0;186,233,255,0;187,238,255,0;188,241,255,0;189,246,255,0;190,249,255,0;191,254,255,0;192,255,255,2;193,255,255,6;194,255,255,10;195,255,255,14;196,255,255,18;197,255,255,22;198,255,255,26;199,255,255,30;200,255,255,35;201,255,255,39;202,255,255,43;203,255,255,47;204,255,255,51;205,255,255,55;206,255,255,59;207,255,255,63;208,255,255,67;209,255,255,71;210,255,255,75;211,255,255,79;212,255,255,83;213,255,255,87;214,255,255,91;215,255,255,95;216,255,255,99;217,255,255,103;218,255,255,107;219,255,255,111;220,255,255,115;221,255,255,119;222,255,255,123;223,255,255,127;224,255,255,130;225,255,255,135;226,255,255,138;227,255,255,143;228,255,255,146;229,255,255,151;230,255,255,154;231,255,255,159;232,255,255,162;233,255,255,167;234,255,255,170;235,255,255,175;236,255,255,178;237,255,255,183;238,255,255,186;239,255,255,191;240,255,255,194;241,255,255,199;242,255,255,202;243,255,255,207;244,255,255,210;245,255,255,215;246,255,255,218;247,255,255,223;248,255,255,226;249,255,255,231;250,255,255,234;251,255,255,239;252,255,255,242;253,255,255,247;254,255,255,250;255,255,255,255"
      , "0,0,0,255;1,0,1,253;2,0,3,250;3,0,5,248;4,0,7,247;5,0,9,245;6,0,11,242;7,0,13,240;8,0,15,239;9,0,17,237;10,0,19,234;11,0,21,232;12,0,23,231;13,0,25,229;14,0,27,226;15,0,29,224;16,0,31,223;17,0,33,221;18,0,35,218;19,0,37,216;20,0,39,215;21,0,41,213;22,0,43,210;23,0,45,208;24,0,47,207;25,0,49,205;26,0,51,202;27,0,53,200;28,0,55,199;29,0,57,197;30,0,59,194;31,0,61,192;32,0,63,191;33,0,66,189;34,0,67,186;35,0,70,184;36,0,71,183;37,0,74,181;38,0,75,178;39,0,78,176;40,0,79,175;41,0,82,173;42,0,83,170;43,0,86,168;44,0,87,167;45,0,90,165;46,0,91,162;47,0,94,160;48,0,95,159;49,0,98,157;50,0,99,154;51,0,102,152;52,0,103,151;53,0,106,149;54,0,107,146;55,0,110,144;56,0,111,143;57,0,114,141;58,0,115,138;59,0,118,136;60,0,119,135;61,0,122,133;62,0,123,130;63,0,126,128;64,0,127,127;65,0,129,124;66,0,132,123;67,0,134,120;68,0,135,119;69,0,137,116;70,0,140,115;71,0,142,112;72,0,143,111;73,0,145,108;74,0,148,107;75,0,150,104;76,0,151,103;77,0,153,100;78,0,156,99;79,0,158,96;80,0,159,95;81,0,161,92;82,0,164,91;83,0,166,88;84,0,167,87;85,0,169,84;86,0,172,83;87,0,174,80;88,0,175,79;89,0,177,76;90,0,180,75;91,0,182,72;92,0,183,71;93,0,185,68;94,0,188,67;95,0,190,64;96,0,191,63;97,0,193,61;98,0,196,59;99,0,198,57;100,0,199,55;101,0,201,53;102,0,204,51;103,0,206,49;104,0,207,47;105,0,209,45;106,0,212,43;107,0,214,41;108,0,215,39;109,0,217,37;110,0,220,35;111,0,222,33;112,0,223,30;113,0,225,28;114,0,228,26;115,0,230,24;116,0,231,22;117,0,233,20;118,0,236,18;119,0,238,16;120,0,239,14;121,0,241,12;122,0,244,10;123,0,246,8;124,0,247,6;125,0,249,4;126,0,252,2;127,0,254,0;128,0,254,0;129,2,252,0;130,4,249,0;131,6,247,0;132,8,246,0;133,10,244,0;134,12,241,0;135,14,239,0;136,16,238,0;137,18,236,0;138,20,233,0;139,22,231,0;140,24,230,0;141,26,228,0;142,28,225,0;143,30,223,0;144,33,222,0;145,35,220,0;146,37,217,0;147,39,215,0;148,41,214,0;149,43,212,0;150,45,209,0;151,47,207,0;152,49,206,0;153,51,204,0;154,53,201,0;155,55,199,0;156,57,198,0;157,59,196,0;158,61,193,0;159,63,191,0;160,64,190,0;161,67,188,0;162,68,185,0;163,71,183,0;164,72,182,0;165,75,180,0;166,76,177,0;167,79,175,0;168,80,174,0;169,83,172,0;170,84,169,0;171,87,167,0;172,88,166,0;173,91,164,0;174,92,161,0;175,95,159,0;176,96,158,0;177,99,156,0;178,100,153,0;179,103,151,0;180,104,150,0;181,107,148,0;182,108,145,0;183,111,143,0;184,112,142,0;185,115,140,0;186,116,137,0;187,119,135,0;188,120,134,0;189,123,132,0;190,124,129,0;191,127,127,0;192,128,126,0;193,130,123,0;194,133,122,0;195,135,119,0;196,136,118,0;197,138,115,0;198,141,114,0;199,143,111,0;200,144,110,0;201,146,107,0;202,149,106,0;203,151,103,0;204,152,102,0;205,154,99,0;206,157,98,0;207,159,95,0;208,160,94,0;209,162,91,0;210,165,90,0;211,167,87,0;212,168,86,0;213,170,83,0;214,173,82,0;215,175,79,0;216,176,78,0;217,178,75,0;218,181,74,0;219,183,71,0;220,184,70,0;221,186,67,0;222,189,66,0;223,191,63,0;224,192,61,0;225,194,59,0;226,197,57,0;227,199,55,0;228,200,53,0;229,202,51,0;230,205,49,0;231,207,47,0;232,208,45,0;233,210,43,0;234,213,41,0;235,215,39,0;236,216,37,0;237,218,35,0;238,221,33,0;239,223,31,0;240,224,29,0;241,226,27,0;242,229,25,0;243,231,23,0;244,232,21,0;245,234,19,0;246,237,17,0;247,239,15,0;248,240,13,0;249,242,11,0;250,245,9,0;251,247,7,0;252,248,5,0;253,250,3,0;254,253,1,0;255,255,0,0"
      , "0,255,255,0;1,255,253,1;2,255,250,3;3,255,248,5;4,255,247,7;5,255,245,9;6,255,242,11;7,255,240,13;8,255,239,15;9,255,237,17;10,255,234,19;11,255,232,21;12,255,231,23;13,255,229,25;14,255,226,27;15,255,224,29;16,255,223,31;17,255,221,33;18,255,218,35;19,255,216,37;20,255,215,39;21,255,213,41;22,255,210,43;23,255,208,45;24,255,207,47;25,255,205,49;26,255,202,51;27,255,200,53;28,255,199,55;29,255,197,57;30,255,194,59;31,255,192,61;32,255,191,63;33,255,189,66;34,255,186,67;35,255,184,70;36,255,183,71;37,255,181,74;38,255,178,75;39,255,176,78;40,255,175,79;41,255,173,82;42,255,170,83;43,255,168,86;44,255,167,87;45,255,165,90;46,255,162,91;47,255,160,94;48,255,159,95;49,255,157,98;50,255,154,99;51,255,152,102;52,255,151,103;53,255,149,106;54,255,146,107;55,255,144,110;56,255,143,111;57,255,141,114;58,255,138,115;59,255,136,118;60,255,135,119;61,255,133,122;62,255,130,123;63,255,128,126;64,255,127,127;65,255,124,129;66,255,123,132;67,255,120,134;68,255,119,135;69,255,116,137;70,255,115,140;71,255,112,142;72,255,111,143;73,255,108,145;74,255,107,148;75,255,104,150;76,255,103,151;77,255,100,153;78,255,99,156;79,255,96,158;80,255,95,159;81,255,92,161;82,255,91,164;83,255,88,166;84,255,87,167;85,255,84,169;86,255,83,172;87,255,80,174;88,255,79,175;89,255,76,177;90,255,75,180;91,255,72,182;92,255,71,183;93,255,68,185;94,255,67,188;95,255,64,190;96,255,63,191;97,255,61,193;98,255,59,196;99,255,57,198;100,255,55,199;101,255,53,201;102,255,51,204;103,255,49,206;104,255,47,207;105,255,45,209;106,255,43,212;107,255,41,214;108,255,39,215;109,255,37,217;110,255,35,220;111,255,33,222;112,255,30,223;113,255,28,225;114,255,26,228;115,255,24,230;116,255,22,231;117,255,20,233;118,255,18,236;119,255,16,238;120,255,14,239;121,255,12,241;122,255,10,244;123,255,8,246;124,255,6,247;125,255,4,249;126,255,2,252;127,255,0,254;128,254,0,255;129,252,2,255;130,249,4,255;131,247,6,255;132,246,8,255;133,244,10,255;134,241,12,255;135,239,14,255;136,238,16,255;137,236,18,255;138,233,20,255;139,231,22,255;140,230,24,255;141,228,26,255;142,225,28,255;143,223,30,255;144,222,33,255;145,220,35,255;146,217,37,255;147,215,39,255;148,214,41,255;149,212,43,255;150,209,45,255;151,207,47,255;152,206,49,255;153,204,51,255;154,201,53,255;155,199,55,255;156,198,57,255;157,196,59,255;158,193,61,255;159,191,63,255;160,190,64,255;161,188,67,255;162,185,68,255;163,183,71,255;164,182,72,255;165,180,75,255;166,177,76,255;167,175,79,255;168,174,80,255;169,172,83,255;170,169,84,255;171,167,87,255;172,166,88,255;173,164,91,255;174,161,92,255;175,159,95,255;176,158,96,255;177,156,99,255;178,153,100,255;179,151,103,255;180,150,104,255;181,148,107,255;182,145,108,255;183,143,111,255;184,142,112,255;185,140,115,255;186,137,116,255;187,135,119,255;188,134,120,255;189,132,123,255;190,129,124,255;191,127,127,255;192,126,128,255;193,123,130,255;194,122,133,255;195,119,135,255;196,118,136,255;197,115,138,255;198,114,141,255;199,111,143,255;200,110,144,255;201,107,146,255;202,106,149,255;203,103,151,255;204,102,152,255;205,99,154,255;206,98,157,255;207,95,159,255;208,94,160,255;209,91,162,255;210,90,165,255;211,87,167,255;212,86,168,255;213,83,170,255;214,82,173,255;215,79,175,255;216,78,176,255;217,75,178,255;218,74,181,255;219,71,183,255;220,70,184,255;221,67,186,255;222,66,189,255;223,63,191,255;224,61,192,255;225,59,194,255;226,57,197,255;227,55,199,255;228,53,200,255;229,51,202,255;230,49,205,255;231,47,207,255;232,45,208,255;233,43,210,255;234,41,213,255;235,39,215,255;236,37,216,255;237,35,218,255;238,33,221,255;239,31,223,255;240,29,224,255;241,27,226,255;242,25,229,255;243,23,231,255;244,21,232,255;245,19,234,255;246,17,237,255;247,15,239,255;248,13,240,255;249,11,242,255;250,9,245,255;251,7,247,255;252,5,248,255;253,3,250,255;254,1,253,255;255,0,255,255"
      , "0,0,0,255;1,0,0,255;2,0,1,255;3,0,2,255;4,0,3,255;5,0,4,255;6,0,5,255;7,0,6,255;8,0,7,255;9,0,8,255;10,0,9,255;11,0,10,255;12,0,11,255;13,0,12,255;14,0,13,255;15,0,14,255;16,0,15,255;17,0,16,255;18,0,17,255;19,0,18,255;20,0,19,255;21,0,20,255;22,0,21,255;23,0,22,255;24,0,23,255;25,0,24,255;26,0,25,255;27,0,26,255;28,0,27,255;29,0,28,255;30,0,29,255;31,0,30,255;32,0,31,255;33,0,33,255;34,0,33,255;35,0,35,255;36,0,35,255;37,0,37,255;38,0,37,255;39,0,39,255;40,0,39,255;41,0,41,255;42,0,41,255;43,0,43,255;44,0,43,255;45,0,45,255;46,0,45,255;47,0,47,255;48,0,47,255;49,0,49,255;50,0,49,255;51,0,51,255;52,0,51,255;53,0,53,255;54,0,53,255;55,0,55,255;56,0,55,255;57,0,57,255;58,0,57,255;59,0,59,255;60,0,59,255;61,0,61,255;62,0,61,255;63,0,63,255;64,0,63,255;65,0,64,255;66,0,66,255;67,0,67,255;68,0,67,255;69,0,68,255;70,0,70,255;71,0,71,255;72,0,71,255;73,0,72,255;74,0,74,255;75,0,75,255;76,0,75,255;77,0,76,255;78,0,78,255;79,0,79,255;80,0,79,255;81,0,80,255;82,0,82,255;83,0,83,255;84,0,83,255;85,0,84,255;86,0,86,255;87,0,87,255;88,0,87,255;89,0,88,255;90,0,90,255;91,0,91,255;92,0,91,255;93,0,92,255;94,0,94,255;95,0,95,255;96,0,95,255;97,0,96,255;98,0,98,255;99,0,99,255;100,0,99,255;101,0,100,255;102,0,102,255;103,0,103,255;104,0,103,255;105,0,104,255;106,0,106,255;107,0,107,255;108,0,107,255;109,0,108,255;110,0,110,255;111,0,111,255;112,0,111,255;113,0,112,255;114,0,114,255;115,0,115,255;116,0,115,255;117,0,116,255;118,0,118,255;119,0,119,255;120,0,119,255;121,0,120,255;122,0,122,255;123,0,123,255;124,0,123,255;125,0,124,255;126,0,126,255;127,0,127,255;128,0,127,255;129,0,128,255;130,0,129,255;131,0,130,255;132,0,132,255;133,0,133,255;134,0,134,255;135,0,135,255;136,0,135,255;137,0,136,255;138,0,137,255;139,0,138,255;140,0,140,255;141,0,141,255;142,0,142,255;143,0,143,255;144,0,143,255;145,0,144,255;146,0,145,255;147,0,146,255;148,0,148,255;149,0,149,255;150,0,150,255;151,0,151,255;152,0,151,255;153,0,152,255;154,0,153,255;155,0,154,255;156,0,156,255;157,0,157,255;158,0,158,255;159,0,159,255;160,0,159,255;161,0,160,255;162,0,161,255;163,0,162,255;164,0,164,255;165,0,165,255;166,0,166,255;167,0,167,255;168,0,167,255;169,0,168,255;170,0,169,255;171,0,170,255;172,0,172,255;173,0,173,255;174,0,174,255;175,0,175,255;176,0,175,255;177,0,176,255;178,0,177,255;179,0,178,255;180,0,180,255;181,0,181,255;182,0,182,255;183,0,183,255;184,0,183,255;185,0,184,255;186,0,185,255;187,0,186,255;188,0,188,255;189,0,189,255;190,0,190,255;191,0,191,255;192,0,191,255;193,0,192,255;194,0,193,255;195,0,194,255;196,0,196,255;197,0,197,255;198,0,198,255;199,0,199,255;200,0,199,255;201,0,200,255;202,0,201,255;203,0,202,255;204,0,204,255;205,0,205,255;206,0,206,255;207,0,207,255;208,0,207,255;209,0,208,255;210,0,209,255;211,0,210,255;212,0,212,255;213,0,213,255;214,0,214,255;215,0,215,255;216,0,215,255;217,0,216,255;218,0,217,255;219,0,218,255;220,0,220,255;221,0,221,255;222,0,222,255;223,0,223,255;224,0,223,255;225,0,224,255;226,0,225,255;227,0,226,255;228,0,228,255;229,0,229,255;230,0,230,255;231,0,231,255;232,0,231,255;233,0,232,255;234,0,233,255;235,0,234,255;236,0,236,255;237,0,237,255;238,0,238,255;239,0,239,255;240,0,239,255;241,0,240,255;242,0,241,255;243,0,242,255;244,0,244,255;245,0,245,255;246,0,246,255;247,0,247,255;248,0,247,255;249,0,248,255;250,0,249,255;251,0,250,255;252,0,252,255;253,0,253,255;254,0,254,255;255,0,255,255"
      , "0,0,0,255;1,0,0,255;2,1,1,255;3,2,2,255;4,3,3,255;5,4,4,255;6,5,5,255;7,6,6,255;8,7,7,255;9,8,8,255;10,9,9,255;11,10,10,255;12,11,11,255;13,12,12,255;14,13,13,255;15,14,14,255;16,15,15,255;17,16,16,255;18,17,17,255;19,18,18,255;20,19,19,255;21,20,20,255;22,21,21,255;23,22,22,255;24,23,23,255;25,24,24,255;26,25,25,255;27,26,26,255;28,27,27,255;29,28,28,255;30,29,29,255;31,30,30,255;32,31,31,255;33,33,33,255;34,33,33,255;35,35,35,255;36,35,35,255;37,37,37,255;38,37,37,255;39,39,39,255;40,39,39,255;41,41,41,255;42,41,41,255;43,43,43,255;44,43,43,255;45,45,45,255;46,45,45,255;47,47,47,255;48,47,47,255;49,49,49,255;50,49,49,255;51,51,51,255;52,51,51,255;53,53,53,255;54,53,53,255;55,55,55,255;56,55,55,255;57,57,57,255;58,57,57,255;59,59,59,255;60,59,59,255;61,61,61,255;62,61,61,255;63,63,63,255;64,63,63,255;65,64,64,255;66,66,66,255;67,67,67,255;68,67,67,255;69,68,68,255;70,70,70,255;71,71,71,255;72,71,71,255;73,72,72,255;74,74,74,255;75,75,75,255;76,75,75,255;77,76,76,255;78,78,78,255;79,79,79,255;80,79,79,255;81,80,80,255;82,82,82,255;83,83,83,255;84,83,83,255;85,84,84,255;86,86,86,255;87,87,87,255;88,87,87,255;89,88,88,255;90,90,90,255;91,91,91,255;92,91,91,255;93,92,92,255;94,94,94,255;95,95,95,255;96,95,95,255;97,96,96,255;98,98,98,255;99,99,99,255;100,99,99,255;101,100,100,255;102,102,102,255;103,103,103,255;104,103,103,255;105,104,104,255;106,106,106,255;107,107,107,255;108,107,107,255;109,108,108,255;110,110,110,255;111,111,111,255;112,111,111,255;113,112,112,255;114,114,114,255;115,115,115,255;116,115,115,255;117,116,116,255;118,118,118,255;119,119,119,255;120,119,119,255;121,120,120,255;122,122,122,255;123,123,123,255;124,123,123,255;125,124,124,255;126,126,126,255;127,127,127,255;128,127,127,255;129,128,128,255;130,129,129,255;131,130,130,255;132,132,132,255;133,133,133,255;134,134,134,255;135,135,135,255;136,135,135,255;137,136,136,255;138,137,137,255;139,138,138,255;140,140,140,255;141,141,141,255;142,142,142,255;143,143,143,255;144,143,143,255;145,144,144,255;146,145,145,255;147,146,146,255;148,148,148,255;149,149,149,255;150,150,150,255;151,151,151,255;152,151,151,255;153,152,152,255;154,153,153,255;155,154,154,255;156,156,156,255;157,157,157,255;158,158,158,255;159,159,159,255;160,159,159,255;161,160,160,255;162,161,161,255;163,162,162,255;164,164,164,255;165,165,165,255;166,166,166,255;167,167,167,255;168,167,167,255;169,168,168,255;170,169,169,255;171,170,170,255;172,172,172,255;173,173,173,255;174,174,174,255;175,175,175,255;176,175,175,255;177,176,176,255;178,177,177,255;179,178,178,255;180,180,180,255;181,181,181,255;182,182,182,255;183,183,183,255;184,183,183,255;185,184,184,255;186,185,185,255;187,186,186,255;188,188,188,255;189,189,189,255;190,190,190,255;191,191,191,255;192,191,191,255;193,192,192,255;194,193,193,255;195,194,194,255;196,196,196,255;197,197,197,255;198,198,198,255;199,199,199,255;200,199,199,255;201,200,200,255;202,201,201,255;203,202,202,255;204,204,204,255;205,205,205,255;206,206,206,255;207,207,207,255;208,207,207,255;209,208,208,255;210,209,209,255;211,210,210,255;212,212,212,255;213,213,213,255;214,214,214,255;215,215,215,255;216,215,215,255;217,216,216,255;218,217,217,255;219,218,218,255;220,220,220,255;221,221,221,255;222,222,222,255;223,223,223,255;224,223,223,255;225,224,224,255;226,225,225,255;227,226,226,255;228,228,228,255;229,229,229,255;230,230,230,255;231,231,231,255;232,231,231,255;233,232,232,255;234,233,233,255;235,234,234,255;236,236,236,255;237,237,237,255;238,238,238,255;239,239,239,255;240,239,239,255;241,240,240,255;242,241,241,255;243,242,242,255;244,244,244,255;245,245,245,255;246,246,246,255;247,247,247,255;248,247,247,255;249,248,248,255;250,249,249,255;251,250,250,255;252,252,252,255;253,253,253,255;254,254,254,255;255,255,255,255"
      , "0,0,159,0;1,2,160,0;2,4,161,0;3,7,162,0;4,9,163,0;5,11,163,0;6,14,164,0;7,16,165,0;8,18,166,0;9,21,167,0;10,23,167,0;11,25,168,0;12,28,169,0;13,30,170,0;14,32,170,0;15,35,171,0;16,37,172,0;17,40,173,0;18,42,174,0;19,44,174,0;20,47,175,0;21,49,176,0;22,51,177,0;23,54,178,0;24,56,178,0;25,58,179,0;26,61,180,0;27,63,181,0;28,65,181,0;29,68,182,0;30,70,183,0;31,72,184,0;32,75,185,0;33,77,185,0;34,80,186,0;35,82,187,0;36,84,188,0;37,87,189,0;38,89,189,0;39,91,190,0;40,94,191,0;41,96,192,0;42,98,192,0;43,101,193,0;44,103,194,0;45,105,195,0;46,108,196,0;47,110,196,0;48,112,197,0;49,115,198,0;50,117,199,0;51,120,199,0;52,122,200,0;53,124,201,0;54,127,202,0;55,129,203,0;56,131,203,0;57,134,204,0;58,136,205,0;59,138,206,0;60,141,207,0;61,143,207,0;62,145,208,0;63,148,209,0;64,150,210,0;65,152,210,0;66,155,211,0;67,157,212,0;68,160,213,0;69,162,214,0;70,164,214,0;71,167,215,0;72,169,216,0;73,171,217,0;74,174,218,0;75,176,218,0;76,178,219,0;77,180,220,0;78,180,220,1;79,180,220,2;80,181,220,3;81,181,220,4;82,182,220,5;83,182,220,6;84,182,220,7;85,183,220,8;86,183,220,9;87,184,220,10;88,184,220,10;89,184,220,11;90,185,220,12;91,185,220,13;92,186,220,14;93,186,220,15;94,186,220,16;95,187,220,17;96,187,220,18;97,188,220,19;98,188,220,20;99,188,220,21;100,189,220,22;101,189,220,23;102,190,220,24;103,190,220,25;104,190,220,26;105,191,220,27;106,191,220,28;107,191,220,29;108,192,220,29;109,192,220,30;110,193,220,31;111,193,220,32;112,193,220,33;113,194,220,34;114,194,220,35;115,195,220,36;116,195,220,37;117,195,220,38;118,196,220,39;119,196,220,40;120,197,220,41;121,197,220,42;122,197,220,43;123,198,220,44;124,198,220,45;125,199,220,46;126,199,220,47;127,199,220,48;128,200,220,49;129,200,220,49;130,200,220,50;131,201,220,51;132,201,220,52;133,202,220,53;134,202,220,54;135,202,220,55;136,203,220,56;137,203,220,57;138,204,220,58;139,204,220,59;140,204,220,60;141,205,220,61;142,205,220,62;143,206,220,63;144,206,220,64;145,206,220,65;146,207,220,66;147,207,220,67;148,208,220,68;149,208,220,69;150,208,220,69;151,209,220,70;152,209,220,71;153,209,220,72;154,210,220,73;155,210,220,74;156,211,220,75;157,211,220,76;158,211,220,77;159,212,220,78;160,212,220,79;161,213,220,80;162,213,220,81;163,213,220,82;164,214,220,83;165,214,220,84;166,215,220,85;167,215,220,86;168,215,220,87;169,216,220,88;170,216,220,89;171,217,220,89;172,217,220,90;173,217,220,91;174,218,220,92;175,218,220,93;176,219,220,94;177,219,220,95;178,219,220,96;179,220,220,97;180,220,220,98;181,220,220,99;182,221,220,100;183,221,220,101;184,222,220,102;185,222,220,103;186,222,220,104;187,223,220,105;188,223,220,106;189,224,220,107;190,224,220,108;191,224,220,109;192,225,220,109;193,225,220,110;194,226,220,111;195,226,220,112;196,226,220,113;197,227,220,114;198,227,220,115;199,228,220,116;200,228,220,117;201,228,220,118;202,229,220,119;203,229,220,120;204,230,220,121;205,230,220,122;206,230,220,123;207,231,220,124;208,231,220,125;209,231,220,126;210,232,220,127;211,232,220,128;212,233,220,129;213,233,220,129;214,233,220,130;215,234,220,131;216,234,220,132;217,235,220,133;218,235,220,134;219,235,220,135;220,236,220,136;221,236,220,137;222,237,220,138;223,237,220,139;224,237,220,140;225,238,220,141;226,238,220,142;227,239,220,143;228,239,220,144;229,239,220,145;230,240,220,146;231,240,220,147;232,240,220,148;233,241,220,149;234,241,220,150;235,242,220,150;236,242,220,151;237,242,220,152;238,243,220,153;239,243,220,154;240,244,220,155;241,244,220,156;242,244,220,157;243,245,220,158;244,245,220,159;245,246,220,160;246,246,220,161;247,246,220,162;248,247,220,163;249,247,220,164;250,248,220,165;251,248,220,166;252,248,220,167;253,249,220,168;254,249,220,169;255,249,220,169"
      , "0,255,255,199;1,254,254,200;2,254,254,200;3,253,253,200;4,253,253,200;5,252,252,201;6,252,252,201;7,252,252,201;8,251,251,201;9,251,251,201;10,250,250,202;11,250,250,202;12,250,250,202;13,249,249,202;14,249,249,203;15,248,248,203;16,248,248,203;17,247,247,203;18,247,247,203;19,247,247,204;20,246,246,204;21,246,246,204;22,245,245,204;23,245,245,204;24,245,245,205;25,244,244,205;26,244,244,205;27,243,243,205;28,243,243,206;29,243,243,206;30,242,242,206;31,242,242,206;32,241,241,206;33,241,241,207;34,240,240,207;35,240,240,207;36,240,240,207;37,239,239,207;38,239,239,208;39,238,238,208;40,238,238,208;41,238,238,208;42,237,237,209;43,237,237,209;44,236,236,209;45,236,236,209;46,236,236,209;47,235,235,210;48,235,235,210;49,234,234,210;50,234,234,210;51,233,233,210;52,233,233,211;53,233,233,211;54,232,232,211;55,232,232,211;56,231,231,212;57,231,231,212;58,231,231,212;59,230,230,212;60,230,230,212;61,229,229,213;62,229,229,213;63,229,229,213;64,228,228,213;65,228,228,214;66,227,227,214;67,227,227,214;68,227,227,214;69,226,226,214;70,226,226,215;71,225,225,215;72,225,225,215;73,224,224,215;74,224,224,215;75,224,224,216;76,223,223,216;77,223,223,216;78,222,222,216;79,222,222,217;80,222,222,217;81,221,221,217;82,221,221,217;83,220,220,217;84,220,220,218;85,220,220,218;86,219,219,218;87,219,219,218;88,218,218,218;89,218,218,219;90,217,217,219;91,217,217,219;92,217,217,219;93,216,216,220;94,216,216,220;95,215,215,220;96,215,215,220;97,215,215,220;98,214,214,221;99,214,214,221;100,213,213,221;101,213,213,221;102,213,213,222;103,212,212,222;104,212,212,222;105,211,211,222;106,211,211,222;107,210,210,223;108,210,210,223;109,210,210,223;110,209,209,223;111,209,209,223;112,208,208,224;113,208,208,224;114,208,208,224;115,207,207,224;116,207,207,225;117,206,206,225;118,206,206,225;119,206,206,225;120,205,205,225;121,205,205,226;122,204,204,226;123,204,204,226;124,203,203,226;125,203,203,226;126,203,203,227;127,202,202,227;128,202,202,227;129,201,201,227;130,201,201,228;131,201,201,228;132,200,200,228;133,200,200,228;134,199,199,228;135,199,199,229;136,199,199,229;137,198,198,229;138,198,198,229;139,197,197,229;140,197,197,230;141,196,196,230;142,196,196,230;143,196,196,230;144,195,195,231;145,195,195,231;146,194,194,231;147,194,194,231;148,194,194,231;149,193,193,232;150,193,193,232;151,192,192,232;152,192,192,232;153,191,191,232;154,191,191,233;155,191,191,233;156,190,190,233;157,190,190,233;158,189,189,234;159,189,189,234;160,189,189,234;161,188,188,234;162,188,188,234;163,187,187,235;164,187,187,235;165,187,187,235;166,186,186,235;167,186,186,236;168,185,185,236;169,185,185,236;170,184,184,236;171,184,184,236;172,184,184,237;173,183,183,237;174,183,183,237;175,182,182,237;176,182,182,237;177,182,182,238;178,181,181,238;179,181,181,238;180,180,180,238;181,180,180,239;182,180,180,239;183,179,179,239;184,179,179,239;185,178,178,239;186,178,178,240;187,177,177,240;188,177,177,240;189,177,177,240;190,176,176,240;191,176,176,241;192,175,175,241;193,175,175,241;194,175,175,241;195,174,174,242;196,174,174,242;197,173,173,242;198,173,173,242;199,173,173,242;200,172,172,243;201,172,172,243;202,171,171,243;203,171,171,243;204,171,171,244;205,170,170,244;206,170,170,244;207,169,169,244;208,169,169,244;209,168,168,245;210,168,168,245;211,168,168,245;212,167,167,245;213,167,167,245;214,166,166,246;215,166,166,246;216,166,166,246;217,165,165,246;218,165,165,247;219,164,164,247;220,164,164,247;221,164,164,247;222,163,163,247;223,163,163,248;224,162,162,248;225,162,162,248;226,161,161,248;227,161,161,248;228,161,161,249;229,160,160,249;230,160,160,249;231,159,159,249;232,159,159,250;233,159,159,250;234,158,158,250;235,158,158,250;236,157,157,250;237,157,157,251;238,157,157,251;239,156,156,251;240,156,156,251;241,155,155,251;242,155,155,252;243,154,154,252;244,154,154,252;245,154,154,252;246,153,153,253;247,153,153,253;248,152,152,253;249,152,152,253;250,152,152,253;251,151,151,254;252,151,151,254;253,150,150,254;254,150,150,254;255,150,150,255"
      , "0,255,255,0;1,254,254,0;2,253,253,1;3,252,252,2;4,250,250,3;5,249,249,4;6,248,248,5;7,247,247,6;8,247,247,7;9,246,246,8;10,245,245,9;11,244,244,10;12,242,242,11;13,241,241,12;14,240,240,13;15,239,239,14;16,239,239,15;17,238,238,16;18,237,237,17;19,236,236,18;20,234,234,19;21,233,233,20;22,232,232,21;23,231,231,22;24,231,231,23;25,230,230,24;26,229,229,25;27,228,228,26;28,226,226,27;29,225,225,28;30,224,224,29;31,223,223,30;32,223,223,31;33,222,222,33;34,221,221,33;35,220,220,35;36,218,218,35;37,217,217,37;38,216,216,37;39,215,215,39;40,215,215,39;41,214,214,41;42,213,213,41;43,212,212,43;44,210,210,43;45,209,209,45;46,208,208,45;47,207,207,47;48,207,207,47;49,206,206,49;50,205,205,49;51,204,204,51;52,202,202,51;53,201,201,53;54,200,200,53;55,199,199,55;56,199,199,55;57,198,198,57;58,197,197,57;59,196,196,59;60,194,194,59;61,193,193,61;62,192,192,61;63,191,191,63;64,191,191,63;65,190,190,64;66,189,189,66;67,188,188,67;68,186,186,67;69,185,185,68;70,184,184,70;71,183,183,71;72,183,183,71;73,182,182,72;74,181,181,74;75,180,180,75;76,178,178,75;77,177,177,76;78,176,176,78;79,175,175,79;80,175,175,79;81,174,174,80;82,173,173,82;83,172,172,83;84,170,170,83;85,169,169,84;86,168,168,86;87,167,167,87;88,167,167,87;89,166,166,88;90,165,165,90;91,164,164,91;92,162,162,91;93,161,161,92;94,160,160,94;95,159,159,95;96,159,159,95;97,158,158,96;98,157,157,98;99,156,156,99;100,154,154,99;101,153,153,100;102,152,152,102;103,151,151,103;104,151,151,103;105,150,150,104;106,149,149,106;107,148,148,107;108,146,146,107;109,145,145,108;110,144,144,110;111,143,143,111;112,143,143,111;113,142,142,112;114,141,141,114;115,140,140,115;116,138,138,115;117,137,137,116;118,136,136,118;119,135,135,119;120,135,135,119;121,134,134,120;122,133,133,122;123,132,132,123;124,130,130,123;125,129,129,124;126,128,128,126;127,127,127,127;128,127,127,127;129,126,126,128;130,124,124,129;131,123,123,130;132,123,123,132;133,122,122,133;134,120,120,134;135,119,119,135;136,119,119,135;137,118,118,136;138,116,116,137;139,115,115,138;140,115,115,140;141,114,114,141;142,112,112,142;143,111,111,143;144,111,111,143;145,110,110,144;146,108,108,145;147,107,107,146;148,107,107,148;149,106,106,149;150,104,104,150;151,103,103,151;152,103,103,151;153,102,102,152;154,100,100,153;155,99,99,154;156,99,99,156;157,98,98,157;158,96,96,158;159,95,95,159;160,95,95,159;161,94,94,160;162,92,92,161;163,91,91,162;164,91,91,164;165,90,90,165;166,88,88,166;167,87,87,167;168,87,87,167;169,86,86,168;170,84,84,169;171,83,83,170;172,83,83,172;173,82,82,173;174,80,80,174;175,79,79,175;176,79,79,175;177,78,78,176;178,76,76,177;179,75,75,178;180,75,75,180;181,74,74,181;182,72,72,182;183,71,71,183;184,71,71,183;185,70,70,184;186,68,68,185;187,67,67,186;188,67,67,188;189,66,66,189;190,64,64,190;191,63,63,191;192,63,63,191;193,61,61,192;194,61,61,193;195,59,59,194;196,59,59,196;197,57,57,197;198,57,57,198;199,55,55,199;200,55,55,199;201,53,53,200;202,53,53,201;203,51,51,202;204,51,51,204;205,49,49,205;206,49,49,206;207,47,47,207;208,47,47,207;209,45,45,208;210,45,45,209;211,43,43,210;212,43,43,212;213,41,41,213;214,41,41,214;215,39,39,215;216,39,39,215;217,37,37,216;218,37,37,217;219,35,35,218;220,35,35,220;221,33,33,221;222,33,33,222;223,31,31,223;224,30,30,223;225,29,29,224;226,28,28,225;227,27,27,226;228,26,26,228;229,25,25,229;230,24,24,230;231,23,23,231;232,22,22,231;233,21,21,232;234,20,20,233;235,19,19,234;236,18,18,236;237,17,17,237;238,16,16,238;239,15,15,239;240,14,14,239;241,13,13,240;242,12,12,241;243,11,11,242;244,10,10,244;245,9,9,245;246,8,8,246;247,7,7,247;248,6,6,247;249,5,5,248;250,4,4,249;251,3,3,250;252,2,2,252;253,1,1,253;254,0,0,254;255,0,0,255"
    ];
  }

  ngOnInit() {
    let BandArrayLength = this.rampsArray.length;
    for (let i = 0; i < BandArrayLength; i++) {
      this.imageUrlArray.push(new ColorBand(i, this.generateBand(this.rampsArray[i]), this.rampsArray[i]));
    }
  }

  generateBand(colorStr: string): string {
    let height = 1;
    let ColorBandArray: Array<any> = colorStr.split(";");

    for (let i = 0; i < ColorBandArray.length; i++) {
      let ColorArray: Array<any> = ColorBandArray[i].split(",");
      ColorBandArray[i] = ColorArray.map(value => {
        return parseInt(value);
      });
    }

    //create canvas
    let BandCanvas = document.createElement("canvas");
    BandCanvas.height = height;
    BandCanvas.width = 256;
    let ctx = BandCanvas.getContext("2d");
    let imgData = ctx.createImageData(256, height);

    var flag = 0;
    for (var i = 0; i < 256 * 4; i += 4) {

      for (var j = 0; j < height; j++) {

        imgData.data[4 * 256 * j + i + 0] = ColorBandArray[i / 4][1];
        imgData.data[4 * 256 * j + i + 1] = ColorBandArray[i / 4][2];
        imgData.data[4 * 256 * j + i + 2] = ColorBandArray[i / 4][3];
        imgData.data[4 * 256 * j + i + 3] = 255;
      }
    }

    ctx.putImageData(imgData, 0, 0);
    return `url(${BandCanvas.toDataURL()})`;
  }

  onColorBandClick(UrlObject: ColorBand) {
    this.onColorBandChanged.emit(UrlObject);
  }


}
